Project: Identify Customer Segments

By: Ken Norton

In this project, you will apply unsupervised learning techniques to identify segments of the population that form the core customer base for a mail-order sales company in Germany. These segments can then be used to direct marketing campaigns towards audiences that will have the highest expected rate of returns. The data that you will use has been provided by our partners at Bertelsmann Arvato Analytics, and represents a real-life data science task.

This notebook will help you complete this task by providing a framework within which you will perform your analysis steps. In each step of the project, you will see some text describing the subtask that you will perform, followed by one or more code cells for you to complete your work. Feel free to add additional code and markdown cells as you go along so that you can explore everything in precise chunks. The code cells provided in the base template will outline only the major tasks, and will usually not be enough to cover all of the minor tasks that comprise it.

It should be noted that while there will be precise guidelines on how you should handle certain tasks in the project, there will also be places where an exact specification is not provided. There will be times in the project where you will need to make and justify your own decisions on how to treat the data. These are places where there may not be only one way to handle the data. In real-life tasks, there may be many valid ways to approach an analysis task. One of the most important things you can do is clearly document your approach so that other scientists can understand the decisions you've made.

At the end of most sections, there will be a Markdown cell labeled Discussion. In these cells, you will report your findings for the completed section, as well as document the decisions that you made in your approach to each subtask. Your project will be evaluated not just on the code used to complete the tasks outlined, but also your communication about your observations and conclusions at each stage.

In [1]:
# import libraries here; add more as necessary
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno

from sklearn import impute, preprocessing, decomposition
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from mpl_toolkits.mplot3d import Axes3D

# magic word for producing visualizations in notebook
%matplotlib inline
%config InlineBackend.figure_format = 'retina'

pd.set_option('display.max_columns', 100)
pd.set_option('display.max_rows', 100)
%load_ext autoreload
%autoreload 2
In [2]:
# Plot styles
plt.style.use('fivethirtyeight')
plt.style.use('seaborn-poster')

Step 0: Load the Data

There are four files associated with this project (not including this one):

  • Udacity_AZDIAS_Subset.csv: Demographics data for the general population of Germany; 891211 persons (rows) x 85 features (columns).
  • Udacity_CUSTOMERS_Subset.csv: Demographics data for customers of a mail-order company; 191652 persons (rows) x 85 features (columns).
  • Data_Dictionary.md: Detailed information file about the features in the provided datasets.
  • AZDIAS_Feature_Summary.csv: Summary of feature attributes for demographics data; 85 features (rows) x 4 columns

Each row of the demographics files represents a single person, but also includes information outside of individuals, including information about their household, building, and neighborhood. You will use this information to cluster the general population into groups with similar demographic properties. Then, you will see how the people in the customers dataset fit into those created clusters. The hope here is that certain clusters are over-represented in the customers data, as compared to the general population; those over-represented clusters will be assumed to be part of the core userbase. This information can then be used for further applications, such as targeting for a marketing campaign.

To start off with, load in the demographics data for the general population into a pandas DataFrame, and do the same for the feature attributes summary. Note for all of the .csv data files in this project: they're semicolon (;) delimited, so you'll need an additional argument in your read_csv() call to read in the data properly. Also, considering the size of the main dataset, it may take some time for it to load completely.

Once the dataset is loaded, it's recommended that you take a little bit of time just browsing the general structure of the dataset and feature summary file. You'll be getting deep into the innards of the cleaning in the first major step of the project, so gaining some general familiarity can help you get your bearings.

In [3]:
# NOTE: the terms of use prevent me from including these files in the repo

# Load in the general demographics data.
azdias = pd.read_csv('Udacity_AZDIAS_Subset.csv', sep=';')

# Load in the feature summary file.
feat_info = pd.read_csv('AZDIAS_Feature_Summary.csv', sep=';')
In [4]:
# Check the structure of the data after it's loaded (e.g. print the number of
# rows and columns, print the first few rows).
print('azdias: ', azdias.shape)
print('feat_info: ', feat_info.shape)
azdias:  (891221, 85)
feat_info:  (85, 4)
In [5]:
azdias.head()
Out[5]:
AGER_TYP ALTERSKATEGORIE_GROB ANREDE_KZ CJT_GESAMTTYP FINANZ_MINIMALIST FINANZ_SPARER FINANZ_VORSORGER FINANZ_ANLEGER FINANZ_UNAUFFAELLIGER FINANZ_HAUSBAUER FINANZTYP GEBURTSJAHR GFK_URLAUBERTYP GREEN_AVANTGARDE HEALTH_TYP LP_LEBENSPHASE_FEIN LP_LEBENSPHASE_GROB LP_FAMILIE_FEIN LP_FAMILIE_GROB LP_STATUS_FEIN LP_STATUS_GROB NATIONALITAET_KZ PRAEGENDE_JUGENDJAHRE RETOURTYP_BK_S SEMIO_SOZ SEMIO_FAM SEMIO_REL SEMIO_MAT SEMIO_VERT SEMIO_LUST SEMIO_ERL SEMIO_KULT SEMIO_RAT SEMIO_KRIT SEMIO_DOM SEMIO_KAEM SEMIO_PFLICHT SEMIO_TRADV SHOPPER_TYP SOHO_KZ TITEL_KZ VERS_TYP ZABEOTYP ALTER_HH ANZ_PERSONEN ANZ_TITEL HH_EINKOMMEN_SCORE KK_KUNDENTYP W_KEIT_KIND_HH WOHNDAUER_2008 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL GEBAEUDETYP KONSUMNAEHE MIN_GEBAEUDEJAHR OST_WEST_KZ WOHNLAGE CAMEO_DEUG_2015 CAMEO_DEU_2015 CAMEO_INTL_2015 KBA05_ANTG1 KBA05_ANTG2 KBA05_ANTG3 KBA05_ANTG4 KBA05_BAUMAX KBA05_GBZ BALLRAUM EWDICHTE INNENSTADT GEBAEUDETYP_RASTER KKK MOBI_REGIO ONLINE_AFFINITAET REGIOTYP KBA13_ANZAHL_PKW PLZ8_ANTG1 PLZ8_ANTG2 PLZ8_ANTG3 PLZ8_ANTG4 PLZ8_BAUMAX PLZ8_HHZ PLZ8_GBZ ARBEIT ORTSGR_KLS9 RELAT_AB
0 -1 2 1 2.0 3 4 3 5 5 3 4 0 10.0 0 -1 15.0 4.0 2.0 2.0 1.0 1.0 0 0 5.0 2 6 7 5 1 5 3 3 4 7 6 6 5 3 -1 NaN NaN -1 3 NaN NaN NaN 2.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 -1 1 2 5.0 1 5 2 5 4 5 1 1996 10.0 0 3 21.0 6.0 5.0 3.0 2.0 1.0 1 14 1.0 5 4 4 3 1 2 2 3 6 4 7 4 7 6 3 1.0 0.0 2 5 0.0 2.0 0.0 6.0 NaN 3.0 9.0 11.0 0.0 8.0 1.0 1992.0 W 4.0 8 8A 51 0.0 0.0 0.0 2.0 5.0 1.0 6.0 3.0 8.0 3.0 2.0 1.0 3.0 3.0 963.0 2.0 3.0 2.0 1.0 1.0 5.0 4.0 3.0 5.0 4.0
2 -1 3 2 3.0 1 4 1 2 3 5 1 1979 10.0 1 3 3.0 1.0 1.0 1.0 3.0 2.0 1 15 3.0 4 1 3 3 4 4 6 3 4 7 7 7 3 3 2 0.0 0.0 1 5 17.0 1.0 0.0 4.0 NaN 3.0 9.0 10.0 0.0 1.0 5.0 1992.0 W 2.0 4 4C 24 1.0 3.0 1.0 0.0 0.0 3.0 2.0 4.0 4.0 4.0 2.0 3.0 2.0 2.0 712.0 3.0 3.0 1.0 0.0 1.0 4.0 4.0 3.0 5.0 2.0
3 2 4 2 2.0 4 2 5 2 1 2 6 1957 1.0 0 2 0.0 0.0 0.0 0.0 9.0 4.0 1 8 2.0 5 1 2 1 4 4 7 4 3 4 4 5 4 4 1 0.0 0.0 1 3 13.0 0.0 0.0 1.0 NaN NaN 9.0 1.0 0.0 1.0 4.0 1997.0 W 7.0 2 2A 12 4.0 1.0 0.0 0.0 1.0 4.0 4.0 2.0 6.0 4.0 0.0 4.0 1.0 0.0 596.0 2.0 2.0 2.0 0.0 1.0 3.0 4.0 2.0 3.0 3.0
4 -1 3 1 5.0 4 3 4 1 3 2 5 1963 5.0 0 3 32.0 10.0 10.0 5.0 3.0 2.0 1 8 5.0 6 4 4 2 7 4 4 6 2 3 2 2 4 2 2 0.0 0.0 2 4 20.0 4.0 0.0 5.0 1.0 2.0 9.0 3.0 0.0 1.0 4.0 1992.0 W 3.0 6 6B 43 1.0 4.0 1.0 0.0 0.0 3.0 2.0 5.0 1.0 5.0 3.0 3.0 5.0 5.0 435.0 2.0 4.0 2.0 1.0 2.0 3.0 3.0 4.0 6.0 5.0
In [6]:
feat_info
Out[6]:
attribute information_level type missing_or_unknown
0 AGER_TYP person categorical [-1,0]
1 ALTERSKATEGORIE_GROB person ordinal [-1,0,9]
2 ANREDE_KZ person categorical [-1,0]
3 CJT_GESAMTTYP person categorical [0]
4 FINANZ_MINIMALIST person ordinal [-1]
5 FINANZ_SPARER person ordinal [-1]
6 FINANZ_VORSORGER person ordinal [-1]
7 FINANZ_ANLEGER person ordinal [-1]
8 FINANZ_UNAUFFAELLIGER person ordinal [-1]
9 FINANZ_HAUSBAUER person ordinal [-1]
10 FINANZTYP person categorical [-1]
11 GEBURTSJAHR person numeric [0]
12 GFK_URLAUBERTYP person categorical []
13 GREEN_AVANTGARDE person categorical []
14 HEALTH_TYP person ordinal [-1,0]
15 LP_LEBENSPHASE_FEIN person mixed [0]
16 LP_LEBENSPHASE_GROB person mixed [0]
17 LP_FAMILIE_FEIN person categorical [0]
18 LP_FAMILIE_GROB person categorical [0]
19 LP_STATUS_FEIN person categorical [0]
20 LP_STATUS_GROB person categorical [0]
21 NATIONALITAET_KZ person categorical [-1,0]
22 PRAEGENDE_JUGENDJAHRE person mixed [-1,0]
23 RETOURTYP_BK_S person ordinal [0]
24 SEMIO_SOZ person ordinal [-1,9]
25 SEMIO_FAM person ordinal [-1,9]
26 SEMIO_REL person ordinal [-1,9]
27 SEMIO_MAT person ordinal [-1,9]
28 SEMIO_VERT person ordinal [-1,9]
29 SEMIO_LUST person ordinal [-1,9]
30 SEMIO_ERL person ordinal [-1,9]
31 SEMIO_KULT person ordinal [-1,9]
32 SEMIO_RAT person ordinal [-1,9]
33 SEMIO_KRIT person ordinal [-1,9]
34 SEMIO_DOM person ordinal [-1,9]
35 SEMIO_KAEM person ordinal [-1,9]
36 SEMIO_PFLICHT person ordinal [-1,9]
37 SEMIO_TRADV person ordinal [-1,9]
38 SHOPPER_TYP person categorical [-1]
39 SOHO_KZ person categorical [-1]
40 TITEL_KZ person categorical [-1,0]
41 VERS_TYP person categorical [-1]
42 ZABEOTYP person categorical [-1,9]
43 ALTER_HH household interval [0]
44 ANZ_PERSONEN household numeric []
45 ANZ_TITEL household numeric []
46 HH_EINKOMMEN_SCORE household ordinal [-1,0]
47 KK_KUNDENTYP household categorical [-1]
48 W_KEIT_KIND_HH household ordinal [-1,0]
49 WOHNDAUER_2008 household ordinal [-1,0]
50 ANZ_HAUSHALTE_AKTIV building numeric [0]
51 ANZ_HH_TITEL building numeric []
52 GEBAEUDETYP building categorical [-1,0]
53 KONSUMNAEHE building ordinal []
54 MIN_GEBAEUDEJAHR building numeric [0]
55 OST_WEST_KZ building categorical [-1]
56 WOHNLAGE building mixed [-1]
57 CAMEO_DEUG_2015 microcell_rr4 categorical [-1,X]
58 CAMEO_DEU_2015 microcell_rr4 categorical [XX]
59 CAMEO_INTL_2015 microcell_rr4 mixed [-1,XX]
60 KBA05_ANTG1 microcell_rr3 ordinal [-1]
61 KBA05_ANTG2 microcell_rr3 ordinal [-1]
62 KBA05_ANTG3 microcell_rr3 ordinal [-1]
63 KBA05_ANTG4 microcell_rr3 ordinal [-1]
64 KBA05_BAUMAX microcell_rr3 mixed [-1,0]
65 KBA05_GBZ microcell_rr3 ordinal [-1,0]
66 BALLRAUM postcode ordinal [-1]
67 EWDICHTE postcode ordinal [-1]
68 INNENSTADT postcode ordinal [-1]
69 GEBAEUDETYP_RASTER region_rr1 ordinal []
70 KKK region_rr1 ordinal [-1,0]
71 MOBI_REGIO region_rr1 ordinal []
72 ONLINE_AFFINITAET region_rr1 ordinal []
73 REGIOTYP region_rr1 ordinal [-1,0]
74 KBA13_ANZAHL_PKW macrocell_plz8 numeric []
75 PLZ8_ANTG1 macrocell_plz8 ordinal [-1]
76 PLZ8_ANTG2 macrocell_plz8 ordinal [-1]
77 PLZ8_ANTG3 macrocell_plz8 ordinal [-1]
78 PLZ8_ANTG4 macrocell_plz8 ordinal [-1]
79 PLZ8_BAUMAX macrocell_plz8 mixed [-1,0]
80 PLZ8_HHZ macrocell_plz8 ordinal [-1]
81 PLZ8_GBZ macrocell_plz8 ordinal [-1]
82 ARBEIT community ordinal [-1,9]
83 ORTSGR_KLS9 community ordinal [-1,0]
84 RELAT_AB community ordinal [-1,9]
In [7]:
feat_info.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 85 entries, 0 to 84
Data columns (total 4 columns):
attribute             85 non-null object
information_level     85 non-null object
type                  85 non-null object
missing_or_unknown    85 non-null object
dtypes: object(4)
memory usage: 2.7+ KB

Step 1: Preprocessing

Step 1.1: Assess Missing Data

The feature summary file contains a summary of properties for each demographics data column. You will use this file to help you make cleaning decisions during this stage of the project. First of all, you should assess the demographics data in terms of missing data. Pay attention to the following points as you perform your analysis, and take notes on what you observe. Make sure that you fill in the Discussion cell with your findings and decisions at the end of each step that has one!

Step 1.1.1: Convert Missing Value Codes to NaNs

The fourth column of the feature attributes summary (loaded in above as feat_info) documents the codes from the data dictionary that indicate missing or unknown data. While the file encodes this as a list (e.g. [-1,0]), this will get read in as a string object. You'll need to do a little bit of parsing to make use of it to identify and clean the data. Convert data that matches a 'missing' or 'unknown' value code into a numpy NaN value. You might want to see how much data takes on a 'missing' or 'unknown' code, and how much data is naturally missing, as a point of interest.

As one more reminder, you are encouraged to add additional cells to break up your analysis into manageable chunks.

In [8]:
df_clean = azdias.copy()
In [9]:
df_clean.dtypes
Out[9]:
AGER_TYP                   int64
ALTERSKATEGORIE_GROB       int64
ANREDE_KZ                  int64
CJT_GESAMTTYP            float64
FINANZ_MINIMALIST          int64
FINANZ_SPARER              int64
FINANZ_VORSORGER           int64
FINANZ_ANLEGER             int64
FINANZ_UNAUFFAELLIGER      int64
FINANZ_HAUSBAUER           int64
FINANZTYP                  int64
GEBURTSJAHR                int64
GFK_URLAUBERTYP          float64
GREEN_AVANTGARDE           int64
HEALTH_TYP                 int64
LP_LEBENSPHASE_FEIN      float64
LP_LEBENSPHASE_GROB      float64
LP_FAMILIE_FEIN          float64
LP_FAMILIE_GROB          float64
LP_STATUS_FEIN           float64
LP_STATUS_GROB           float64
NATIONALITAET_KZ           int64
PRAEGENDE_JUGENDJAHRE      int64
RETOURTYP_BK_S           float64
SEMIO_SOZ                  int64
SEMIO_FAM                  int64
SEMIO_REL                  int64
SEMIO_MAT                  int64
SEMIO_VERT                 int64
SEMIO_LUST                 int64
SEMIO_ERL                  int64
SEMIO_KULT                 int64
SEMIO_RAT                  int64
SEMIO_KRIT                 int64
SEMIO_DOM                  int64
SEMIO_KAEM                 int64
SEMIO_PFLICHT              int64
SEMIO_TRADV                int64
SHOPPER_TYP                int64
SOHO_KZ                  float64
TITEL_KZ                 float64
VERS_TYP                   int64
ZABEOTYP                   int64
ALTER_HH                 float64
ANZ_PERSONEN             float64
ANZ_TITEL                float64
HH_EINKOMMEN_SCORE       float64
KK_KUNDENTYP             float64
W_KEIT_KIND_HH           float64
WOHNDAUER_2008           float64
ANZ_HAUSHALTE_AKTIV      float64
ANZ_HH_TITEL             float64
GEBAEUDETYP              float64
KONSUMNAEHE              float64
MIN_GEBAEUDEJAHR         float64
OST_WEST_KZ               object
WOHNLAGE                 float64
CAMEO_DEUG_2015           object
CAMEO_DEU_2015            object
CAMEO_INTL_2015           object
KBA05_ANTG1              float64
KBA05_ANTG2              float64
KBA05_ANTG3              float64
KBA05_ANTG4              float64
KBA05_BAUMAX             float64
KBA05_GBZ                float64
BALLRAUM                 float64
EWDICHTE                 float64
INNENSTADT               float64
GEBAEUDETYP_RASTER       float64
KKK                      float64
MOBI_REGIO               float64
ONLINE_AFFINITAET        float64
REGIOTYP                 float64
KBA13_ANZAHL_PKW         float64
PLZ8_ANTG1               float64
PLZ8_ANTG2               float64
PLZ8_ANTG3               float64
PLZ8_ANTG4               float64
PLZ8_BAUMAX              float64
PLZ8_HHZ                 float64
PLZ8_GBZ                 float64
ARBEIT                   float64
ORTSGR_KLS9              float64
RELAT_AB                 float64
dtype: object
In [10]:
feat_info[feat_info.missing_or_unknown.str.contains('X')]
Out[10]:
attribute information_level type missing_or_unknown
57 CAMEO_DEUG_2015 microcell_rr4 categorical [-1,X]
58 CAMEO_DEU_2015 microcell_rr4 categorical [XX]
59 CAMEO_INTL_2015 microcell_rr4 mixed [-1,XX]
In [11]:
# Test one of the columns, we see string values here
df_clean.CAMEO_DEUG_2015.unique()
Out[11]:
array([nan, '8', '4', '2', '6', '1', '9', '5', '7', '3', 'X'],
      dtype=object)
In [12]:
# Identify missing or unknown data values and convert them to NaNs.
df_clean.loc[df_clean['CAMEO_DEUG_2015'] == 'X'] = np.nan
df_clean.loc[df_clean['CAMEO_DEU_2015'] == 'XX'] = np.nan
df_clean.loc[df_clean['CAMEO_INTL_2015'] == 'XX'] = np.nan

# Now convert two of the columns to numeric since strings are gone, keep _DEU_ as string
df_clean['CAMEO_DEUG_2015'] = pd.to_numeric(df_clean['CAMEO_DEUG_2015'], errors='coerce')
df_clean['CAMEO_INTL_2015'] = pd.to_numeric(df_clean['CAMEO_INTL_2015'], errors='coerce')
In [13]:
# Let's retest that column, expect to see integers!
df_clean.CAMEO_DEUG_2015.unique()
Out[13]:
array([nan,  8.,  4.,  2.,  6.,  1.,  9.,  5.,  7.,  3.])
In [14]:
# Iterate over the feat_info df - this is not the most efficient
# way to do it, and I'd like to try to handle the string values
# in one single for-loop as an improvement
for index, row in feat_info.iterrows():
    attr = row['attribute']
    # Strip out the brackets and separate on comma
    values = row['missing_or_unknown'].replace('[', '').replace(']',
                                                                '').split(',')
    for val in values:
        # We still have strings in here (X / XX) so ignore them
        if val not in ['', 'X', 'XX']:
            val = int(val)
            df_clean.loc[df_clean[attr] == val, attr] = np.nan

Step 1.1.2: Assess Missing Data in Each Column

How much missing data is present in each column? There are a few columns that are outliers in terms of the proportion of values that are missing. You will want to use matplotlib's hist() function to visualize the distribution of missing value counts to find these columns. Identify and document these columns. While some of these columns might have justifications for keeping or re-encoding the data, for this project you should just remove them from the dataframe. (Feel free to make remarks about these outlier columns in the discussion, however!)

For the remaining features, are there any patterns in which columns have, or share, missing data?

In [15]:
# Perform an assessment of how much missing data there is in each column of the
# dataset.
# Thanks StackOverflow: https://stackoverflow.com/a/51071037
percent_missing = df_clean.isnull().sum() * 100 / len(df_clean)
missing_values = pd.DataFrame({
    'column_name': df_clean.columns,
    'percent_missing': percent_missing
})
In [16]:
# Investigate patterns in the amount of missing data in each column.

plt.hist(missing_values['percent_missing'], bins=20)
plt.show()
In [17]:
missing_values.sort_values(by='percent_missing', ascending=False).head(25)
Out[17]:
column_name percent_missing
TITEL_KZ TITEL_KZ 99.757636
AGER_TYP AGER_TYP 76.963739
KK_KUNDENTYP KK_KUNDENTYP 65.620312
KBA05_BAUMAX KBA05_BAUMAX 53.485387
GEBURTSJAHR GEBURTSJAHR 44.049007
ALTER_HH ALTER_HH 34.842312
KKK KKK 17.769218
REGIOTYP REGIOTYP 17.769218
W_KEIT_KIND_HH W_KEIT_KIND_HH 16.640990
KBA05_ANTG1 KBA05_ANTG1 14.992802
KBA05_ANTG2 KBA05_ANTG2 14.992802
KBA05_ANTG3 KBA05_ANTG3 14.992802
KBA05_ANTG4 KBA05_ANTG4 14.992802
KBA05_GBZ KBA05_GBZ 14.992802
MOBI_REGIO MOBI_REGIO 14.992802
PLZ8_ANTG3 PLZ8_ANTG3 13.109655
PLZ8_ANTG2 PLZ8_ANTG2 13.109655
PLZ8_GBZ PLZ8_GBZ 13.109655
PLZ8_HHZ PLZ8_HHZ 13.109655
PLZ8_ANTG1 PLZ8_ANTG1 13.109655
PLZ8_BAUMAX PLZ8_BAUMAX 13.109655
PLZ8_ANTG4 PLZ8_ANTG4 13.109655
VERS_TYP VERS_TYP 12.515975
HEALTH_TYP HEALTH_TYP 12.515975
SHOPPER_TYP SHOPPER_TYP 12.515975

Several of our columns have >50% missing values. Looking at them, they are:

  • TITEL_KZ Academic title flag
  • AGER_TYP Best-ager typology
  • KK_KUNDENTYP Consumer pattern over past 12 months
  • KBA05_BAUMAX Most common building type within the microcell
  • GEBURTSJAHR Year of birth

Let's drop all of these columns.

In [18]:
# Remove the outlier columns from the dataset. (You'll perform other data
# engineering tasks such as re-encoding and imputation later.)

df_clean = df_clean.drop(
    columns=['TITEL_KZ', 'AGER_TYP', 'KK_KUNDENTYP', 'KBA05_BAUMAX', 'GEBURTSJAHR'])

Discussion 1.1.2: Assess Missing Data in Each Column

I decided to remove any column that didn't have at least 50% coverage. The columns I removed were:

  • TITEL_KZ Academic title flag
  • AGER_TYP Best-ager typology
  • KK_KUNDENTYP Consumer pattern over past 12 months
  • KBA05_BAUMAX Most common building type within the microcell
  • GEBURTSJAHR Year of birth

Some of them seem like they would have been useful (such as consumer pattern and year of birth), but potentially the present values could be biased. For example, it's possible older respondents reported their year of birth but younger respondents did not. With >50% missing values, it's best to just remove the data from analysis.

Step 1.1.3: Assess Missing Data in Each Row

Now, you'll perform a similar assessment for the rows of the dataset. How much data is missing in each row? As with the columns, you should see some groups of points that have a very different numbers of missing values. Divide the data into two subsets: one for data points that are above some threshold for missing values, and a second subset for points below that threshold.

In order to know what to do with the outlier rows, we should see if the distribution of data values on columns that are not missing data (or are missing very little data) are similar or different between the two groups. Select at least five of these columns and compare the distribution of values.

  • You can use seaborn's countplot() function to create a bar chart of code frequencies and matplotlib's subplot() function to put bar charts for the two subplots side by side.
  • To reduce repeated code, you might want to write a function that can perform this comparison, taking as one of its arguments a column to be compared.

Depending on what you observe in your comparison, this will have implications on how you approach your conclusions later in the analysis. If the distributions of non-missing features look similar between the data with many missing values and the data with few or no missing values, then we could argue that simply dropping those points from the analysis won't present a major issue. On the other hand, if the data with many missing values looks very different from the data with few or no missing values, then we should make a note on those data as special. We'll revisit these data later on. Either way, you should continue your analysis for now using just the subset of the data with few or no missing values.

In [19]:
# How much data is missing in each row of the dataset?
msno.matrix(df_clean.sample(100), figsize=(20, 15), labels=True, fontsize=10)
plt.show()
In [20]:
msno.bar(df_clean, figsize=(20, 8), fontsize=12)
plt.show()

From my visual evaluation I can see that the rows with missing data tend to have a pattern where they're missing all of the household and building-level features. There's another smaller group that has most of the building-level features but is missing the microcell-level features (KBA05_*). I'm going to combine the rows missing either microcell only or all building-level and microcell features into one group. The easiest way to do this is to test if KBA05_ANTG1 is null, the first column in the micro-cell features. That column will be missing in all of the cases we're testing for.

In [21]:
# Create a new dataframe that contains only the "complete" rows, filtering
# out the rows that were missing microcell and/or building-level features
df_subset = df_clean.query('KBA05_ANTG1 != "NaN"')

# Create another dataframe that contains only the "incomplete" rows
df_incomplete = df_clean.query('KBA05_ANTG1 == "NaN"')
In [22]:
# Test our missing distribution again to make sure the rows look mostly complete
msno.bar(df_subset, figsize=(20, 8), fontsize=12)
plt.show()
In [23]:
# Compare the distribution of values for at least five columns where there are
# no or few missing values, between the two subsets.
df1 = pd.DataFrame(df_subset,
                   columns=[
                       'LP_LEBENSPHASE_FEIN', 'PRAEGENDE_JUGENDJAHRE',
                       'SEMIO_VERT', 'ALTERSKATEGORIE_GROB', 'LP_STATUS_GROB',
                       'ONLINE_AFFINITAET'
                   ]).assign(group='complete')
df2 = pd.DataFrame(df_incomplete,
                   columns=[
                       'LP_LEBENSPHASE_FEIN', 'PRAEGENDE_JUGENDJAHRE',
                       'SEMIO_VERT', 'ALTERSKATEGORIE_GROB', 'LP_STATUS_GROB',
                       'ONLINE_AFFINITAET'
                   ]).assign(group='missing')

cdf = pd.concat([df1, df2])
mdf = pd.melt(cdf, id_vars=['group'], var_name=['column'])
ax = sns.boxplot(x="group", y="value", hue="column", data=mdf)
plt.show()

There doesn't appear to be a significant difference between the two subsets on the columns I investigated. For that reason I'm going to proceed with df_subset which contains only those rows that had complete data.

Step 1.2: Select and Re-Encode Features

Checking for missing data isn't the only way in which you can prepare a dataset for analysis. Since the unsupervised learning techniques to be used will only work on data that is encoded numerically, you need to make a few encoding changes or additional assumptions to be able to make progress. In addition, while almost all of the values in the dataset are encoded using numbers, not all of them represent numeric values. Check the third column of the feature summary (feat_info) for a summary of types of measurement.

  • For numeric and interval data, these features can be kept without changes.
  • Most of the variables in the dataset are ordinal in nature. While ordinal values may technically be non-linear in spacing, make the simplifying assumption that the ordinal variables can be treated as being interval in nature (that is, kept without any changes).
  • Special handling may be necessary for the remaining two variable types: categorical, and 'mixed'.

In the first two parts of this sub-step, you will perform an investigation of the categorical and mixed-type features and make a decision on each of them, whether you will keep, drop, or re-encode each. Then, in the last part, you will create a new data frame with only the selected and engineered columns.

Data wrangling is often the trickiest part of the data analysis process, and there's a lot of it to be done here. But stick with it: once you're done with this step, you'll be ready to get to the machine learning parts of the project!

In [24]:
# How many features are there of each data type?
feat_info.groupby('type')['attribute'].value_counts()
Out[24]:
type         attribute            
categorical  AGER_TYP                 1
             ANREDE_KZ                1
             CAMEO_DEUG_2015          1
             CAMEO_DEU_2015           1
             CJT_GESAMTTYP            1
             FINANZTYP                1
             GEBAEUDETYP              1
             GFK_URLAUBERTYP          1
             GREEN_AVANTGARDE         1
             KK_KUNDENTYP             1
             LP_FAMILIE_FEIN          1
             LP_FAMILIE_GROB          1
             LP_STATUS_FEIN           1
             LP_STATUS_GROB           1
             NATIONALITAET_KZ         1
             OST_WEST_KZ              1
             SHOPPER_TYP              1
             SOHO_KZ                  1
             TITEL_KZ                 1
             VERS_TYP                 1
             ZABEOTYP                 1
interval     ALTER_HH                 1
mixed        CAMEO_INTL_2015          1
             KBA05_BAUMAX             1
             LP_LEBENSPHASE_FEIN      1
             LP_LEBENSPHASE_GROB      1
             PLZ8_BAUMAX              1
             PRAEGENDE_JUGENDJAHRE    1
             WOHNLAGE                 1
numeric      ANZ_HAUSHALTE_AKTIV      1
             ANZ_HH_TITEL             1
             ANZ_PERSONEN             1
             ANZ_TITEL                1
             GEBURTSJAHR              1
             KBA13_ANZAHL_PKW         1
             MIN_GEBAEUDEJAHR         1
ordinal      ALTERSKATEGORIE_GROB     1
             ARBEIT                   1
             BALLRAUM                 1
             EWDICHTE                 1
             FINANZ_ANLEGER           1
             FINANZ_HAUSBAUER         1
             FINANZ_MINIMALIST        1
             FINANZ_SPARER            1
             FINANZ_UNAUFFAELLIGER    1
             FINANZ_VORSORGER         1
             GEBAEUDETYP_RASTER       1
             HEALTH_TYP               1
             HH_EINKOMMEN_SCORE       1
             INNENSTADT               1
             KBA05_ANTG1              1
             KBA05_ANTG2              1
             KBA05_ANTG3              1
             KBA05_ANTG4              1
             KBA05_GBZ                1
             KKK                      1
             KONSUMNAEHE              1
             MOBI_REGIO               1
             ONLINE_AFFINITAET        1
             ORTSGR_KLS9              1
             PLZ8_ANTG1               1
             PLZ8_ANTG2               1
             PLZ8_ANTG3               1
             PLZ8_ANTG4               1
             PLZ8_GBZ                 1
             PLZ8_HHZ                 1
             REGIOTYP                 1
             RELAT_AB                 1
             RETOURTYP_BK_S           1
             SEMIO_DOM                1
             SEMIO_ERL                1
             SEMIO_FAM                1
             SEMIO_KAEM               1
             SEMIO_KRIT               1
             SEMIO_KULT               1
             SEMIO_LUST               1
             SEMIO_MAT                1
             SEMIO_PFLICHT            1
             SEMIO_RAT                1
             SEMIO_REL                1
             SEMIO_SOZ                1
             SEMIO_TRADV              1
             SEMIO_VERT               1
             WOHNDAUER_2008           1
             W_KEIT_KIND_HH           1
Name: attribute, dtype: int64
In [25]:
feat_info.query('type == "categorical"')['attribute'].to_list()
Out[25]:
['AGER_TYP',
 'ANREDE_KZ',
 'CJT_GESAMTTYP',
 'FINANZTYP',
 'GFK_URLAUBERTYP',
 'GREEN_AVANTGARDE',
 'LP_FAMILIE_FEIN',
 'LP_FAMILIE_GROB',
 'LP_STATUS_FEIN',
 'LP_STATUS_GROB',
 'NATIONALITAET_KZ',
 'SHOPPER_TYP',
 'SOHO_KZ',
 'TITEL_KZ',
 'VERS_TYP',
 'ZABEOTYP',
 'KK_KUNDENTYP',
 'GEBAEUDETYP',
 'OST_WEST_KZ',
 'CAMEO_DEUG_2015',
 'CAMEO_DEU_2015']

Step 1.2.1: Re-Encode Categorical Features

For categorical data, you would ordinarily need to encode the levels as dummy variables. Depending on the number of categories, perform one of the following:

  • For binary (two-level) categoricals that take numeric values, you can keep them without needing to do anything.
  • There is one binary variable that takes on non-numeric values. For this one, you need to re-encode the values as numbers or create a dummy variable.
  • For multi-level categoricals (three or more values), you can choose to encode the values using multiple dummy variables (e.g. via OneHotEncoder), or (to keep things straightforward) just drop them from the analysis. As always, document your choices in the Discussion section.
In [26]:
# Assess categorical variables: which are binary, which are multi-level, and
# which one needs to be re-encoded?
In [27]:
# Re-encode categorical variable(s) to be kept in the analysis.

# One-hot encode the multi-level categoricals and string columns
df_subset = pd.get_dummies(
    df_subset,
    columns=[
        'ANREDE_KZ', 'CJT_GESAMTTYP', 'FINANZTYP',
        'GFK_URLAUBERTYP', 'GREEN_AVANTGARDE', 'LP_FAMILIE_FEIN',
        'LP_FAMILIE_GROB', 'LP_STATUS_FEIN', 'LP_STATUS_GROB',
        'NATIONALITAET_KZ', 'SHOPPER_TYP', 'SOHO_KZ', 'VERS_TYP',
        'ZABEOTYP', 'GEBAEUDETYP', 'OST_WEST_KZ',
        'CAMEO_DEUG_2015', 'CAMEO_DEU_2015'
    ],
    prefix_sep='_')
In [28]:
df_subset.head()
Out[28]:
ALTERSKATEGORIE_GROB FINANZ_MINIMALIST FINANZ_SPARER FINANZ_VORSORGER FINANZ_ANLEGER FINANZ_UNAUFFAELLIGER FINANZ_HAUSBAUER HEALTH_TYP LP_LEBENSPHASE_FEIN LP_LEBENSPHASE_GROB PRAEGENDE_JUGENDJAHRE RETOURTYP_BK_S SEMIO_SOZ SEMIO_FAM SEMIO_REL SEMIO_MAT SEMIO_VERT SEMIO_LUST SEMIO_ERL SEMIO_KULT SEMIO_RAT SEMIO_KRIT SEMIO_DOM SEMIO_KAEM SEMIO_PFLICHT SEMIO_TRADV ALTER_HH ANZ_PERSONEN ANZ_TITEL HH_EINKOMMEN_SCORE W_KEIT_KIND_HH WOHNDAUER_2008 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL KONSUMNAEHE MIN_GEBAEUDEJAHR WOHNLAGE CAMEO_INTL_2015 KBA05_ANTG1 KBA05_ANTG2 KBA05_ANTG3 KBA05_ANTG4 KBA05_GBZ BALLRAUM EWDICHTE INNENSTADT GEBAEUDETYP_RASTER KKK MOBI_REGIO ONLINE_AFFINITAET ... CAMEO_DEUG_2015_4.0 CAMEO_DEUG_2015_5.0 CAMEO_DEUG_2015_6.0 CAMEO_DEUG_2015_7.0 CAMEO_DEUG_2015_8.0 CAMEO_DEUG_2015_9.0 CAMEO_DEU_2015_1A CAMEO_DEU_2015_1B CAMEO_DEU_2015_1C CAMEO_DEU_2015_1D CAMEO_DEU_2015_1E CAMEO_DEU_2015_2A CAMEO_DEU_2015_2B CAMEO_DEU_2015_2C CAMEO_DEU_2015_2D CAMEO_DEU_2015_3A CAMEO_DEU_2015_3B CAMEO_DEU_2015_3C CAMEO_DEU_2015_3D CAMEO_DEU_2015_4A CAMEO_DEU_2015_4B CAMEO_DEU_2015_4C CAMEO_DEU_2015_4D CAMEO_DEU_2015_4E CAMEO_DEU_2015_5A CAMEO_DEU_2015_5B CAMEO_DEU_2015_5C CAMEO_DEU_2015_5D CAMEO_DEU_2015_5E CAMEO_DEU_2015_5F CAMEO_DEU_2015_6A CAMEO_DEU_2015_6B CAMEO_DEU_2015_6C CAMEO_DEU_2015_6D CAMEO_DEU_2015_6E CAMEO_DEU_2015_6F CAMEO_DEU_2015_7A CAMEO_DEU_2015_7B CAMEO_DEU_2015_7C CAMEO_DEU_2015_7D CAMEO_DEU_2015_7E CAMEO_DEU_2015_8A CAMEO_DEU_2015_8B CAMEO_DEU_2015_8C CAMEO_DEU_2015_8D CAMEO_DEU_2015_9A CAMEO_DEU_2015_9B CAMEO_DEU_2015_9C CAMEO_DEU_2015_9D CAMEO_DEU_2015_9E
1 1.0 1.0 5.0 2.0 5.0 4.0 5.0 3.0 21.0 6.0 14.0 1.0 5.0 4.0 4.0 3.0 1.0 2.0 2.0 3.0 6.0 4.0 7.0 4.0 7.0 6.0 NaN 2.0 0.0 6.0 3.0 9.0 11.0 0.0 1.0 1992.0 4.0 51.0 0.0 0.0 0.0 2.0 1.0 6.0 3.0 8.0 3.0 2.0 1.0 3.0 ... 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
2 3.0 1.0 4.0 1.0 2.0 3.0 5.0 3.0 3.0 1.0 15.0 3.0 4.0 1.0 3.0 3.0 4.0 4.0 6.0 3.0 4.0 7.0 7.0 7.0 3.0 3.0 17.0 1.0 0.0 4.0 3.0 9.0 10.0 0.0 5.0 1992.0 2.0 24.0 1.0 3.0 1.0 0.0 3.0 2.0 4.0 4.0 4.0 2.0 3.0 2.0 ... 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 4.0 4.0 2.0 5.0 2.0 1.0 2.0 2.0 NaN NaN 8.0 2.0 5.0 1.0 2.0 1.0 4.0 4.0 7.0 4.0 3.0 4.0 4.0 5.0 4.0 4.0 13.0 0.0 0.0 1.0 NaN 9.0 1.0 0.0 4.0 1997.0 7.0 12.0 4.0 1.0 0.0 0.0 4.0 4.0 2.0 6.0 4.0 NaN 4.0 1.0 ... 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 3.0 4.0 3.0 4.0 1.0 3.0 2.0 3.0 32.0 10.0 8.0 5.0 6.0 4.0 4.0 2.0 7.0 4.0 4.0 6.0 2.0 3.0 2.0 2.0 4.0 2.0 20.0 4.0 0.0 5.0 2.0 9.0 3.0 0.0 4.0 1992.0 3.0 43.0 1.0 4.0 1.0 0.0 3.0 2.0 5.0 1.0 5.0 3.0 3.0 5.0 ... 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 1.0 3.0 1.0 5.0 2.0 2.0 5.0 3.0 8.0 2.0 3.0 3.0 2.0 4.0 7.0 4.0 2.0 2.0 2.0 5.0 7.0 4.0 4.0 4.0 7.0 6.0 10.0 1.0 0.0 5.0 6.0 9.0 5.0 0.0 5.0 1992.0 7.0 54.0 2.0 2.0 0.0 0.0 4.0 6.0 2.0 7.0 4.0 4.0 4.0 1.0 ... 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

5 rows × 200 columns

In [29]:
df_subset.shape
Out[29]:
(757602, 200)

Discussion 1.2.1: Re-Encode Categorical Features

I took all of the categorical columns and one-hot encoded them. I considered transforming the one binary variable OST_WEST_KZ but realized it would transform quite nicely into two one-hot encoded variables. I decided not to drop any columns at this stage.

Step 1.2.2: Engineer Mixed-Type Features

There are a handful of features that are marked as "mixed" in the feature summary that require special treatment in order to be included in the analysis. There are two in particular that deserve attention; the handling of the rest are up to your own choices:

  • "PRAEGENDE_JUGENDJAHRE" combines information on three dimensions: generation by decade, movement (mainstream vs. avantgarde), and nation (east vs. west). While there aren't enough levels to disentangle east from west, you should create two new variables to capture the other two dimensions: an interval-type variable for decade, and a binary variable for movement.
  • "CAMEO_INTL_2015" combines information on two axes: wealth and life stage. Break up the two-digit codes by their 'tens'-place and 'ones'-place digits into two new ordinal variables (which, for the purposes of this project, is equivalent to just treating them as their raw numeric values).
  • If you decide to keep or engineer new features around the other mixed-type features, make sure you note your steps in the Discussion section.

Be sure to check Data_Dictionary.md for the details needed to finish these tasks.

1.18. PRAEGENDE_JUGENDJAHRE
Dominating movement of person's youth (avantgarde vs. mainstream; east vs. west)

-1: unknown
0: unknown
1: 40s - war years (Mainstream, E+W)
2: 40s - reconstruction years (Avantgarde, E+W)
3: 50s - economic miracle (Mainstream, E+W)
4: 50s - milk bar / Individualisation (Avantgarde, E+W)
5: 60s - economic miracle (Mainstream, E+W)
6: 60s - generation 68 / student protestors (Avantgarde, W)
7: 60s - opponents to the building of the Wall (Avantgarde, E)
8: 70s - family orientation (Mainstream, E+W)
9: 70s - peace movement (Avantgarde, E+W)
10: 80s - Generation Golf (Mainstream, W)
11: 80s - ecological awareness (Avantgarde, W)
12: 80s - FDJ / communist party youth organisation (Mainstream, E)
13: 80s - Swords into ploughshares (Avantgarde, E)
14: 90s - digital media kids (Mainstream, E+W)
15: 90s - ecological awareness (Avantgarde, E+W)
In [30]:
# Investigate "PRAEGENDE_JUGENDJAHRE" and engineer two new variables

# Create new one-hot encoded columns
df_subset['DECADE_40s'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x >= 1 and x <= 2 else 0)
df_subset['DECADE_50s'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x >= 3 and x <= 4 else 0)
df_subset['DECADE_60s'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x >= 5 and x <= 7 else 0)
df_subset['DECADE_70s'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x >= 8 and x <= 9 else 0)
df_subset['DECADE_80s'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x >= 10 and x <= 13 else 0)
df_subset['DECADE_90s'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x >= 14 and x <= 15 else 0)
In [31]:
# Create new one-hot encoded movement columns

df_subset['MOVEMENT_MAINSTREAM'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x in [1, 3, 5, 8, 10, 12, 14] else 0)
df_subset['MOVEMENT_AVANTGARDE'] = df_subset['PRAEGENDE_JUGENDJAHRE'].apply(
    lambda x: 1 if x in [2, 4, 6, 7, 9, 11, 13, 15] else 0)
In [32]:
# Drop the original column
df_subset = df_subset.drop(columns=['PRAEGENDE_JUGENDJAHRE'])
In [33]:
# Test a sample of rows
df_subset.sample(10)
Out[33]:
ALTERSKATEGORIE_GROB FINANZ_MINIMALIST FINANZ_SPARER FINANZ_VORSORGER FINANZ_ANLEGER FINANZ_UNAUFFAELLIGER FINANZ_HAUSBAUER HEALTH_TYP LP_LEBENSPHASE_FEIN LP_LEBENSPHASE_GROB RETOURTYP_BK_S SEMIO_SOZ SEMIO_FAM SEMIO_REL SEMIO_MAT SEMIO_VERT SEMIO_LUST SEMIO_ERL SEMIO_KULT SEMIO_RAT SEMIO_KRIT SEMIO_DOM SEMIO_KAEM SEMIO_PFLICHT SEMIO_TRADV ALTER_HH ANZ_PERSONEN ANZ_TITEL HH_EINKOMMEN_SCORE W_KEIT_KIND_HH WOHNDAUER_2008 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL KONSUMNAEHE MIN_GEBAEUDEJAHR WOHNLAGE CAMEO_INTL_2015 KBA05_ANTG1 KBA05_ANTG2 KBA05_ANTG3 KBA05_ANTG4 KBA05_GBZ BALLRAUM EWDICHTE INNENSTADT GEBAEUDETYP_RASTER KKK MOBI_REGIO ONLINE_AFFINITAET REGIOTYP ... CAMEO_DEU_2015_1C CAMEO_DEU_2015_1D CAMEO_DEU_2015_1E CAMEO_DEU_2015_2A CAMEO_DEU_2015_2B CAMEO_DEU_2015_2C CAMEO_DEU_2015_2D CAMEO_DEU_2015_3A CAMEO_DEU_2015_3B CAMEO_DEU_2015_3C CAMEO_DEU_2015_3D CAMEO_DEU_2015_4A CAMEO_DEU_2015_4B CAMEO_DEU_2015_4C CAMEO_DEU_2015_4D CAMEO_DEU_2015_4E CAMEO_DEU_2015_5A CAMEO_DEU_2015_5B CAMEO_DEU_2015_5C CAMEO_DEU_2015_5D CAMEO_DEU_2015_5E CAMEO_DEU_2015_5F CAMEO_DEU_2015_6A CAMEO_DEU_2015_6B CAMEO_DEU_2015_6C CAMEO_DEU_2015_6D CAMEO_DEU_2015_6E CAMEO_DEU_2015_6F CAMEO_DEU_2015_7A CAMEO_DEU_2015_7B CAMEO_DEU_2015_7C CAMEO_DEU_2015_7D CAMEO_DEU_2015_7E CAMEO_DEU_2015_8A CAMEO_DEU_2015_8B CAMEO_DEU_2015_8C CAMEO_DEU_2015_8D CAMEO_DEU_2015_9A CAMEO_DEU_2015_9B CAMEO_DEU_2015_9C CAMEO_DEU_2015_9D CAMEO_DEU_2015_9E DECADE_40s DECADE_50s DECADE_60s DECADE_70s DECADE_80s DECADE_90s MOVEMENT_MAINSTREAM MOVEMENT_AVANTGARDE
182069 4.0 4.0 1.0 5.0 1.0 4.0 5.0 2.0 16.0 4.0 5.0 2.0 1.0 1.0 3.0 4.0 7.0 7.0 1.0 3.0 6.0 5.0 6.0 4.0 3.0 8.0 2.0 0.0 5.0 6.0 9.0 5.0 0.0 1.0 1992.0 2.0 24.0 3.0 2.0 0.0 0.0 4.0 1.0 6.0 3.0 4.0 2.0 4.0 3.0 2.0 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0
483875 2.0 3.0 2.0 5.0 2.0 1.0 5.0 NaN 5.0 2.0 5.0 1.0 4.0 7.0 4.0 2.0 7.0 7.0 5.0 7.0 4.0 4.0 6.0 7.0 3.0 13.0 1.0 0.0 6.0 3.0 9.0 6.0 0.0 2.0 1992.0 5.0 51.0 0.0 2.0 3.0 0.0 3.0 6.0 6.0 1.0 4.0 4.0 1.0 1.0 5.0 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
373820 3.0 2.0 3.0 4.0 4.0 2.0 3.0 1.0 5.0 2.0 5.0 1.0 2.0 3.0 2.0 2.0 6.0 6.0 3.0 4.0 4.0 4.0 7.0 5.0 3.0 NaN 1.0 0.0 6.0 6.0 6.0 7.0 0.0 4.0 1992.0 5.0 51.0 1.0 4.0 0.0 0.0 3.0 2.0 5.0 2.0 4.0 4.0 2.0 1.0 7.0 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0
212085 2.0 1.0 5.0 2.0 5.0 3.0 3.0 2.0 2.0 1.0 1.0 2.0 5.0 5.0 7.0 2.0 1.0 5.0 5.0 7.0 4.0 7.0 7.0 7.0 7.0 NaN 1.0 0.0 6.0 4.0 9.0 12.0 0.0 3.0 1994.0 4.0 51.0 0.0 0.0 0.0 2.0 1.0 2.0 4.0 4.0 5.0 4.0 1.0 2.0 6.0 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
450209 1.0 3.0 2.0 4.0 1.0 3.0 2.0 2.0 5.0 2.0 3.0 7.0 7.0 7.0 5.0 7.0 1.0 1.0 7.0 4.0 2.0 1.0 2.0 6.0 5.0 14.0 1.0 0.0 5.0 5.0 4.0 6.0 0.0 2.0 1992.0 3.0 51.0 0.0 3.0 3.0 0.0 2.0 1.0 6.0 2.0 4.0 3.0 2.0 5.0 6.0 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
184533 3.0 5.0 2.0 4.0 3.0 3.0 1.0 3.0 39.0 12.0 4.0 4.0 5.0 4.0 1.0 5.0 4.0 4.0 5.0 2.0 3.0 5.0 3.0 3.0 4.0 15.0 3.0 0.0 1.0 4.0 9.0 1.0 0.0 5.0 1992.0 7.0 23.0 2.0 2.0 0.0 0.0 5.0 6.0 2.0 4.0 5.0 4.0 4.0 4.0 4.0 ... 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
779035 1.0 4.0 4.0 1.0 4.0 3.0 2.0 1.0 34.0 11.0 1.0 7.0 7.0 7.0 5.0 7.0 3.0 2.0 7.0 5.0 2.0 2.0 2.0 7.0 5.0 19.0 4.0 0.0 5.0 2.0 9.0 2.0 0.0 3.0 1992.0 3.0 25.0 4.0 0.0 0.0 1.0 3.0 6.0 4.0 6.0 4.0 4.0 4.0 4.0 7.0 ... 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
475677 1.0 2.0 4.0 1.0 3.0 4.0 3.0 2.0 2.0 1.0 4.0 7.0 7.0 7.0 5.0 6.0 2.0 4.0 7.0 4.0 4.0 4.0 2.0 4.0 5.0 17.0 1.0 0.0 6.0 NaN 4.0 16.0 0.0 4.0 1994.0 4.0 51.0 1.0 0.0 0.0 1.0 1.0 3.0 5.0 4.0 4.0 NaN 1.0 3.0 NaN ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0
157821 4.0 5.0 1.0 5.0 1.0 2.0 3.0 2.0 40.0 12.0 5.0 3.0 2.0 3.0 4.0 6.0 5.0 7.0 4.0 3.0 3.0 3.0 3.0 1.0 4.0 NaN 2.0 0.0 2.0 1.0 9.0 1.0 0.0 6.0 1992.0 7.0 23.0 3.0 1.0 0.0 0.0 5.0 6.0 1.0 6.0 5.0 3.0 5.0 3.0 4.0 ... 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
778526 3.0 1.0 5.0 2.0 5.0 4.0 4.0 NaN NaN 3.0 5.0 4.0 6.0 7.0 3.0 4.0 7.0 3.0 4.0 4.0 4.0 4.0 4.0 5.0 4.0 NaN 1.0 0.0 4.0 6.0 9.0 5.0 0.0 1.0 1992.0 3.0 54.0 2.0 1.0 0.0 0.0 4.0 7.0 4.0 8.0 4.0 1.0 4.0 2.0 2.0 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

10 rows × 207 columns

4.3. CAMEO_INTL_2015
German CAMEO: Wealth / Life Stage Typology, mapped to international code

-1: unknown
11: Wealthy Households - Pre-Family Couples & Singles
12: Wealthy Households - Young Couples With Children
13: Wealthy Households - Families With School Age Children
14: Wealthy Households - Older Families & Mature Couples
15: Wealthy Households - Elders In Retirement
21: Prosperous Households - Pre-Family Couples & Singles
22: Prosperous Households - Young Couples With Children
23: Prosperous Households - Families With School Age Children
24: Prosperous Households - Older Families & Mature Couples
25: Prosperous Households - Elders In Retirement
31: Comfortable Households - Pre-Family Couples & Singles
32: Comfortable Households - Young Couples With Children
33: Comfortable Households - Families With School Age Children
34: Comfortable Households - Older Families & Mature Couples
35: Comfortable Households - Elders In Retirement
41: Less Affluent Households - Pre-Family Couples & Singles
42: Less Affluent Households - Young Couples With Children
43: Less Affluent Households - Families With School Age Children
44: Less Affluent Households - Older Families & Mature Couples
45: Less Affluent Households - Elders In Retirement
51: Poorer Households - Pre-Family Couples & Singles
52: Poorer Households - Young Couples With Children
53: Poorer Households - Families With School Age Children
54: Poorer Households - Older Families & Mature Couples
55: Poorer Households - Elders In Retirement
XX: unknown
In [34]:
# Investigate "CAMEO_INTL_2015" and engineer two new variables.

# Split into two columns with 10s and 1s values
df_subset['CAMEO_WEALTH'], df_subset['CAMEO_LIFESTAGE'] = divmod(
    pd.to_numeric(df_subset['CAMEO_INTL_2015'], downcast='integer'), 10)

# Drop the original column
df_subset = df_subset.drop(columns=['CAMEO_INTL_2015'])

# And then one-hot encode the new columns
# One-hot encode the multi-level categoricals and string columns
df_subset = pd.get_dummies(
    df_subset,
    columns=[
        'CAMEO_WEALTH', 'CAMEO_LIFESTAGE'
    ],
    prefix_sep='_')

Discussion 1.2.2: Engineer Mixed-Type Features

I converted PRAEGENDE_JUGENDJAHRE into two new one-hot encoded features that capture decade and movement. I then split CAMEO_INTL_2015 into two new one-hot encoded features using the first digit (wealth) and the second digit (lifestage).

In [35]:
df_subset.dtypes
Out[35]:
ALTERSKATEGORIE_GROB     float64
FINANZ_MINIMALIST        float64
FINANZ_SPARER            float64
FINANZ_VORSORGER         float64
FINANZ_ANLEGER           float64
FINANZ_UNAUFFAELLIGER    float64
FINANZ_HAUSBAUER         float64
HEALTH_TYP               float64
LP_LEBENSPHASE_FEIN      float64
LP_LEBENSPHASE_GROB      float64
RETOURTYP_BK_S           float64
SEMIO_SOZ                float64
SEMIO_FAM                float64
SEMIO_REL                float64
SEMIO_MAT                float64
SEMIO_VERT               float64
SEMIO_LUST               float64
SEMIO_ERL                float64
SEMIO_KULT               float64
SEMIO_RAT                float64
SEMIO_KRIT               float64
SEMIO_DOM                float64
SEMIO_KAEM               float64
SEMIO_PFLICHT            float64
SEMIO_TRADV              float64
ALTER_HH                 float64
ANZ_PERSONEN             float64
ANZ_TITEL                float64
HH_EINKOMMEN_SCORE       float64
W_KEIT_KIND_HH           float64
WOHNDAUER_2008           float64
ANZ_HAUSHALTE_AKTIV      float64
ANZ_HH_TITEL             float64
KONSUMNAEHE              float64
MIN_GEBAEUDEJAHR         float64
WOHNLAGE                 float64
KBA05_ANTG1              float64
KBA05_ANTG2              float64
KBA05_ANTG3              float64
KBA05_ANTG4              float64
KBA05_GBZ                float64
BALLRAUM                 float64
EWDICHTE                 float64
INNENSTADT               float64
GEBAEUDETYP_RASTER       float64
KKK                      float64
MOBI_REGIO               float64
ONLINE_AFFINITAET        float64
REGIOTYP                 float64
KBA13_ANZAHL_PKW         float64
                          ...   
CAMEO_DEU_2015_3D          uint8
CAMEO_DEU_2015_4A          uint8
CAMEO_DEU_2015_4B          uint8
CAMEO_DEU_2015_4C          uint8
CAMEO_DEU_2015_4D          uint8
CAMEO_DEU_2015_4E          uint8
CAMEO_DEU_2015_5A          uint8
CAMEO_DEU_2015_5B          uint8
CAMEO_DEU_2015_5C          uint8
CAMEO_DEU_2015_5D          uint8
CAMEO_DEU_2015_5E          uint8
CAMEO_DEU_2015_5F          uint8
CAMEO_DEU_2015_6A          uint8
CAMEO_DEU_2015_6B          uint8
CAMEO_DEU_2015_6C          uint8
CAMEO_DEU_2015_6D          uint8
CAMEO_DEU_2015_6E          uint8
CAMEO_DEU_2015_6F          uint8
CAMEO_DEU_2015_7A          uint8
CAMEO_DEU_2015_7B          uint8
CAMEO_DEU_2015_7C          uint8
CAMEO_DEU_2015_7D          uint8
CAMEO_DEU_2015_7E          uint8
CAMEO_DEU_2015_8A          uint8
CAMEO_DEU_2015_8B          uint8
CAMEO_DEU_2015_8C          uint8
CAMEO_DEU_2015_8D          uint8
CAMEO_DEU_2015_9A          uint8
CAMEO_DEU_2015_9B          uint8
CAMEO_DEU_2015_9C          uint8
CAMEO_DEU_2015_9D          uint8
CAMEO_DEU_2015_9E          uint8
DECADE_40s                 int64
DECADE_50s                 int64
DECADE_60s                 int64
DECADE_70s                 int64
DECADE_80s                 int64
DECADE_90s                 int64
MOVEMENT_MAINSTREAM        int64
MOVEMENT_AVANTGARDE        int64
CAMEO_WEALTH_1.0           uint8
CAMEO_WEALTH_2.0           uint8
CAMEO_WEALTH_3.0           uint8
CAMEO_WEALTH_4.0           uint8
CAMEO_WEALTH_5.0           uint8
CAMEO_LIFESTAGE_1.0        uint8
CAMEO_LIFESTAGE_2.0        uint8
CAMEO_LIFESTAGE_3.0        uint8
CAMEO_LIFESTAGE_4.0        uint8
CAMEO_LIFESTAGE_5.0        uint8
Length: 216, dtype: object

Step 1.2.3: Complete Feature Selection

In order to finish this step up, you need to make sure that your data frame now only has the columns that you want to keep. To summarize, the dataframe should consist of the following:

  • All numeric, interval, and ordinal type columns from the original dataset.
  • Binary categorical features (all numerically-encoded).
  • Engineered features from other multi-level categorical features and mixed features.

Make sure that for any new columns that you have engineered, that you've excluded the original columns from the final dataset. Otherwise, their values will interfere with the analysis later on the project. For example, you should not keep "PRAEGENDE_JUGENDJAHRE", since its values won't be useful for the algorithm: only the values derived from it in the engineered features you created should be retained. As a reminder, your data should only be from the subset with few or no missing values.

Step 1.3: Create a Cleaning Function

Even though you've finished cleaning up the general population demographics data, it's important to look ahead to the future and realize that you'll need to perform the same cleaning steps on the customer demographics data. In this substep, complete the function below to execute the main feature selection, encoding, and re-engineering steps you performed above. Then, when it comes to looking at the customer data in Step 3, you can just run this function on that DataFrame to get the trimmed dataset in a single step.

In [38]:
def clean_data(df, feat_info):
    """
    Perform feature trimming, re-encoding, and engineering for demographics
    data

    INPUT: Demographics DataFrame
    OUTPUT: Trimmed and cleaned demographics DataFrame
    """

    # Identify missing or unknown data values and convert them to NaNs.
    df.loc[df['CAMEO_DEUG_2015'] == 'X'] = np.nan
    df.loc[df['CAMEO_DEU_2015'] == 'XX'] = np.nan
    df.loc[df['CAMEO_INTL_2015'] == 'XX'] = np.nan

    # Now convert two of the columns to numeric since strings are gone, keep _DEU_ as string
    df['CAMEO_DEUG_2015'] = pd.to_numeric(df['CAMEO_DEUG_2015'],
                                          errors='coerce')
    df['CAMEO_INTL_2015'] = pd.to_numeric(df['CAMEO_INTL_2015'],
                                          errors='coerce')

    # Iterate over the feat_info df - this is not the most efficient
    # way to do it, and I'd like to try to handle the string values
    # in one single for-loop as an improvement
    for index, row in feat_info.iterrows():
        attr = row['attribute']
        # Strip out the brackets and separate on comma
        values = row['missing_or_unknown'].replace('[',
                                                   '').replace(']',
                                                               '').split(',')
        for val in values:
            # We still have strings in here (X / XX) so ignore them
            if val not in ['', 'X', 'XX']:
                val = int(val)
                df.loc[df[attr] == val, attr] = np.nan

    # Create new one-hot encoded decade columns
    df['DECADE_40s'] = df['PRAEGENDE_JUGENDJAHRE'].apply(lambda x: 1 if x >= 1
                                                         and x <= 2 else 0)
    df['DECADE_50s'] = df['PRAEGENDE_JUGENDJAHRE'].apply(lambda x: 1 if x >= 3
                                                         and x <= 4 else 0)
    df['DECADE_60s'] = df['PRAEGENDE_JUGENDJAHRE'].apply(lambda x: 1 if x >= 5
                                                         and x <= 7 else 0)
    df['DECADE_70s'] = df['PRAEGENDE_JUGENDJAHRE'].apply(lambda x: 1 if x >= 8
                                                         and x <= 9 else 0)
    df['DECADE_80s'] = df['PRAEGENDE_JUGENDJAHRE'].apply(lambda x: 1 if x >= 10
                                                         and x <= 13 else 0)
    df['DECADE_90s'] = df['PRAEGENDE_JUGENDJAHRE'].apply(lambda x: 1 if x >= 14
                                                         and x <= 15 else 0)

    # Create new one-hot encoded movement columns
    df['MOVEMENT_MAINSTREAM'] = df['PRAEGENDE_JUGENDJAHRE'].apply(
        lambda x: 1 if x in [1, 3, 5, 8, 10, 12, 14] else 0)
    df['MOVEMENT_AVANTGARDE'] = df['PRAEGENDE_JUGENDJAHRE'].apply(
        lambda x: 1 if x in [2, 4, 6, 7, 9, 11, 13, 15] else 0)

    # Split CAMEO_WEALTH into two columns with 10s and 1s values
    df['CAMEO_WEALTH'], df['CAMEO_LIFESTAGE'] = divmod(
        pd.to_numeric(df['CAMEO_INTL_2015'], downcast='integer'), 10)

    df = pd.get_dummies(
        df,
        columns=[
            'ANREDE_KZ', 'CJT_GESAMTTYP', 'FINANZTYP', 'GFK_URLAUBERTYP',
            'GREEN_AVANTGARDE', 'LP_FAMILIE_FEIN', 'LP_FAMILIE_GROB',
            'LP_STATUS_FEIN', 'LP_STATUS_GROB', 'NATIONALITAET_KZ',
            'SHOPPER_TYP', 'SOHO_KZ', 'VERS_TYP', 'ZABEOTYP', 'GEBAEUDETYP',
            'OST_WEST_KZ', 'CAMEO_DEUG_2015', 'CAMEO_DEU_2015', 'CAMEO_WEALTH',
            'CAMEO_LIFESTAGE'
        ],
        prefix_sep='_')

    # Eliminate the rows with lots of missing data
    df = df.query('KBA05_ANTG1 != "NaN"')

    # Drop unneeded columns
    df = df.drop(columns=[
        'TITEL_KZ', 'AGER_TYP', 'KK_KUNDENTYP', 'KBA05_BAUMAX', 'GEBURTSJAHR',
        'CAMEO_INTL_2015', 'PRAEGENDE_JUGENDJAHRE'
    ])

    return df
In [39]:
azdias = pd.read_csv('Udacity_AZDIAS_Subset.csv', sep=';')
azdias = clean_data(azdias, feat_info)
In [40]:
# Because I optimized the function, our columns will be in different orders
# reorder them alphabetically so we can compare them properly
df_subset = df_subset.reindex(sorted(df_subset.columns), axis=1)
azdias = azdias.reindex(sorted(azdias.columns), axis=1)
In [41]:
# Quick test to ensure our dataframes match, compare the first 100 rows
# of each. We expect no output if they match perfectly.
pd.concat([df_subset.head(100),
           azdias.head(100)]).drop_duplicates(keep=False)
Out[41]:
ALTERSKATEGORIE_GROB ALTER_HH ANREDE_KZ_1.0 ANREDE_KZ_2.0 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL ANZ_PERSONEN ANZ_TITEL ARBEIT BALLRAUM CAMEO_DEUG_2015_1.0 CAMEO_DEUG_2015_2.0 CAMEO_DEUG_2015_3.0 CAMEO_DEUG_2015_4.0 CAMEO_DEUG_2015_5.0 CAMEO_DEUG_2015_6.0 CAMEO_DEUG_2015_7.0 CAMEO_DEUG_2015_8.0 CAMEO_DEUG_2015_9.0 CAMEO_DEU_2015_1A CAMEO_DEU_2015_1B CAMEO_DEU_2015_1C CAMEO_DEU_2015_1D CAMEO_DEU_2015_1E CAMEO_DEU_2015_2A CAMEO_DEU_2015_2B CAMEO_DEU_2015_2C CAMEO_DEU_2015_2D CAMEO_DEU_2015_3A CAMEO_DEU_2015_3B CAMEO_DEU_2015_3C CAMEO_DEU_2015_3D CAMEO_DEU_2015_4A CAMEO_DEU_2015_4B CAMEO_DEU_2015_4C CAMEO_DEU_2015_4D CAMEO_DEU_2015_4E CAMEO_DEU_2015_5A CAMEO_DEU_2015_5B CAMEO_DEU_2015_5C CAMEO_DEU_2015_5D CAMEO_DEU_2015_5E CAMEO_DEU_2015_5F CAMEO_DEU_2015_6A CAMEO_DEU_2015_6B CAMEO_DEU_2015_6C CAMEO_DEU_2015_6D CAMEO_DEU_2015_6E CAMEO_DEU_2015_6F CAMEO_DEU_2015_7A ... MOVEMENT_AVANTGARDE MOVEMENT_MAINSTREAM NATIONALITAET_KZ_1.0 NATIONALITAET_KZ_2.0 NATIONALITAET_KZ_3.0 ONLINE_AFFINITAET ORTSGR_KLS9 OST_WEST_KZ_O OST_WEST_KZ_W PLZ8_ANTG1 PLZ8_ANTG2 PLZ8_ANTG3 PLZ8_ANTG4 PLZ8_BAUMAX PLZ8_GBZ PLZ8_HHZ REGIOTYP RELAT_AB RETOURTYP_BK_S SEMIO_DOM SEMIO_ERL SEMIO_FAM SEMIO_KAEM SEMIO_KRIT SEMIO_KULT SEMIO_LUST SEMIO_MAT SEMIO_PFLICHT SEMIO_RAT SEMIO_REL SEMIO_SOZ SEMIO_TRADV SEMIO_VERT SHOPPER_TYP_0.0 SHOPPER_TYP_1.0 SHOPPER_TYP_2.0 SHOPPER_TYP_3.0 SOHO_KZ_0.0 SOHO_KZ_1.0 VERS_TYP_1.0 VERS_TYP_2.0 WOHNDAUER_2008 WOHNLAGE W_KEIT_KIND_HH ZABEOTYP_1.0 ZABEOTYP_2.0 ZABEOTYP_3.0 ZABEOTYP_4.0 ZABEOTYP_5.0 ZABEOTYP_6.0

0 rows × 216 columns

Great! So now we know our function will apply the same the exact same transformations as we did above. We'll use azdias as our cleaned version of the demographics dataframe going into section 2.

Step 2: Feature Transformation

Step 2.1: Apply Feature Scaling

Before we apply dimensionality reduction techniques to the data, we need to perform feature scaling so that the principal component vectors are not influenced by the natural differences in scale for features. Starting from this part of the project, you'll want to keep an eye on the API reference page for sklearn to help you navigate to all of the classes and functions that you'll need. In this substep, you'll need to check the following:

  • sklearn requires that data not have missing values in order for its estimators to work properly. So, before applying the scaler to your data, make sure that you've cleaned the DataFrame of the remaining missing values. This can be as simple as just removing all data points with missing data, or applying an Imputer to replace all missing values. You might also try a more complicated procedure where you temporarily remove missing values in order to compute the scaling parameters before re-introducing those missing values and applying imputation. Think about how much missing data you have and what possible effects each approach might have on your analysis, and justify your decision in the discussion section below.
  • For the actual scaling function, a StandardScaler instance is suggested, scaling each feature to mean 0 and standard deviation 1.
  • For these classes, you can make use of the .fit_transform() method to both fit a procedure to the data as well as apply the transformation to the data at the same time. Don't forget to keep the fit sklearn objects handy, since you'll be applying them to the customer demographics data towards the end of the project.
In [42]:
# If you've not yet cleaned the dataset of all NaN values, then investigate and
# do that now.
azdias.isnull().sum().sort_values(ascending=False).head(30)
Out[42]:
ALTER_HH                221475
W_KEIT_KIND_HH           56560
LP_LEBENSPHASE_FEIN      48050
LP_LEBENSPHASE_GROB      45321
KKK                      42242
REGIOTYP                 42242
HEALTH_TYP               35333
PLZ8_ANTG1                9440
PLZ8_ANTG2                9440
PLZ8_ANTG3                9440
PLZ8_ANTG4                9440
PLZ8_BAUMAX               9440
PLZ8_GBZ                  9440
PLZ8_HHZ                  9440
KBA13_ANZAHL_PKW          6560
ANZ_HAUSHALTE_AKTIV       5886
RETOURTYP_BK_S            4449
ONLINE_AFFINITAET         4449
ARBEIT                    4070
RELAT_AB                  4070
ORTSGR_KLS9               3985
ANZ_HH_TITEL              3392
ALTERSKATEGORIE_GROB      2656
BALLRAUM                   534
INNENSTADT                 534
EWDICHTE                   534
KONSUMNAEHE                 51
GEBAEUDETYP_RASTER           5
CAMEO_WEALTH_2.0             0
FINANZ_HAUSBAUER             0
dtype: int64

I've confirmed that none of the columns with NaNs are categorical.

In [43]:
# For the columns that still have NaN let's replace them with the median value
imputed = impute.SimpleImputer(missing_values=np.nan, strategy='median')
azdias_imputed = pd.DataFrame(imputed.fit_transform(azdias))
In [44]:
azdias_imputed.describe()
Out[44]:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 ... 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
count 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.00000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 ... 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.000000 757602.00000 757602.000000 757602.000000 757602.000000 757602.000000
mean 2.801863 15.466662 0.478357 0.521643 8.579407 0.041759 1.725509 0.004186 3.183449 4.131489 0.045598 0.101919 0.101993 0.127414 0.067038 0.135210 0.099725 0.174968 0.141086 0.013563 0.005100 0.005375 0.015194 0.006366 0.015805 0.01871 0.023605 0.043799 0.007833 0.007591 0.043499 0.043070 0.040286 0.011018 0.058675 0.010764 0.006671 0.013012 0.012899 0.012083 0.019051 0.004564 0.005429 0.008660 0.072219 0.018893 0.007776 0.020868 0.006794 0.043796 ... 0.219629 0.746286 0.835600 0.080644 0.040624 2.688851 5.336962 0.212431 0.787569 2.236784 2.818807 1.618973 0.714618 1.954101 3.361303 3.620459 4.508638 3.093994 3.447410 4.580783 4.630458 4.112034 4.299433 4.514906 4.157537 4.393275 3.847738 4.190447 3.878866 3.999890 4.179089 3.721846 4.237952 0.164960 0.305191 0.265240 0.217972 0.991616 0.008384 0.448823 0.504539 7.961321 4.054501 4.191446 0.151797 0.03498 0.357374 0.262085 0.102983 0.090781
std 1.017709 3.233500 0.499532 0.499532 15.806465 0.328559 1.160752 0.068720 0.990263 2.189976 0.208611 0.302542 0.302639 0.333436 0.250088 0.341947 0.299633 0.379940 0.348110 0.115666 0.071234 0.073116 0.122324 0.079534 0.124721 0.13550 0.151814 0.204647 0.088155 0.086795 0.203978 0.203015 0.196630 0.104385 0.235015 0.103191 0.081404 0.113326 0.112837 0.109256 0.136704 0.067406 0.073481 0.092657 0.258850 0.136146 0.087837 0.142944 0.082144 0.204641 ... 0.413995 0.435136 0.370639 0.272288 0.197418 1.548389 2.291709 0.409028 0.409028 0.968309 0.913596 0.980203 0.725603 1.464529 1.106027 0.964755 1.786859 1.352405 1.456377 1.813493 1.831575 1.896263 1.872568 1.730420 1.950089 2.096723 1.909680 1.896146 1.655381 1.912751 1.944357 1.756520 1.928986 0.371145 0.460488 0.441461 0.412869 0.091181 0.091181 0.497374 0.499980 1.891402 1.891059 1.696370 0.358825 0.18373 0.479226 0.439769 0.303937 0.287298
min 1.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000
25% 2.000000 14.000000 0.000000 0.000000 2.000000 0.000000 1.000000 0.000000 3.000000 2.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 4.000000 0.000000 1.000000 1.000000 2.000000 1.000000 0.000000 1.000000 3.000000 3.000000 3.000000 2.000000 2.000000 3.000000 3.000000 2.000000 3.000000 3.000000 3.000000 2.000000 2.000000 3.000000 3.000000 3.000000 2.000000 2.000000 2.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 8.000000 3.000000 3.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000
50% 3.000000 16.000000 0.000000 1.000000 4.000000 0.000000 1.000000 0.000000 3.000000 5.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 1.000000 1.000000 0.000000 0.000000 3.000000 5.000000 0.000000 1.000000 2.000000 3.000000 2.000000 1.000000 1.000000 3.000000 4.000000 5.000000 3.000000 4.000000 5.000000 4.000000 4.000000 4.000000 5.000000 4.000000 5.000000 4.000000 4.000000 4.000000 4.000000 4.000000 4.000000 5.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 9.000000 3.000000 4.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000
75% 4.000000 17.000000 1.000000 1.000000 10.000000 0.000000 2.000000 0.000000 4.000000 6.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 1.000000 1.000000 0.000000 0.000000 4.000000 7.000000 0.000000 1.000000 3.000000 3.000000 2.000000 1.000000 3.000000 4.000000 4.000000 6.000000 4.000000 5.000000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000 6.000000 5.000000 6.000000 5.000000 5.000000 6.000000 5.000000 6.000000 0.000000 1.000000 1.000000 0.000000 1.000000 0.000000 1.000000 1.000000 9.000000 5.000000 6.000000 0.000000 0.00000 1.000000 1.000000 0.000000 0.000000
max 4.000000 21.000000 1.000000 1.000000 536.000000 23.000000 45.000000 4.000000 5.000000 7.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.00000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 ... 1.000000 1.000000 1.000000 1.000000 1.000000 5.000000 9.000000 1.000000 1.000000 4.000000 4.000000 3.000000 2.000000 5.000000 5.000000 5.000000 7.000000 5.000000 5.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 7.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 9.000000 8.000000 6.000000 1.000000 1.00000 1.000000 1.000000 1.000000 1.000000

8 rows × 216 columns

In [45]:
azdias_imputed.columns = azdias.columns
azdias_imputed.index = azdias.index
In [46]:
# Apply feature scaling to the general population demographics data.
scaler = preprocessing.StandardScaler() 
azdias_scaled = scaler.fit_transform(azdias_imputed)
In [47]:
# Add column names again
azdias_scaled = pd.DataFrame(azdias_scaled, columns=list(azdias_imputed))
In [48]:
# Let's take a look - I'm expecting stdevs of 1.0 here
azdias_scaled.describe()
Out[48]:
ALTERSKATEGORIE_GROB ALTER_HH ANREDE_KZ_1.0 ANREDE_KZ_2.0 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL ANZ_PERSONEN ANZ_TITEL ARBEIT BALLRAUM CAMEO_DEUG_2015_1.0 CAMEO_DEUG_2015_2.0 CAMEO_DEUG_2015_3.0 CAMEO_DEUG_2015_4.0 CAMEO_DEUG_2015_5.0 CAMEO_DEUG_2015_6.0 CAMEO_DEUG_2015_7.0 CAMEO_DEUG_2015_8.0 CAMEO_DEUG_2015_9.0 CAMEO_DEU_2015_1A CAMEO_DEU_2015_1B CAMEO_DEU_2015_1C CAMEO_DEU_2015_1D CAMEO_DEU_2015_1E CAMEO_DEU_2015_2A CAMEO_DEU_2015_2B CAMEO_DEU_2015_2C CAMEO_DEU_2015_2D CAMEO_DEU_2015_3A CAMEO_DEU_2015_3B CAMEO_DEU_2015_3C CAMEO_DEU_2015_3D CAMEO_DEU_2015_4A CAMEO_DEU_2015_4B CAMEO_DEU_2015_4C CAMEO_DEU_2015_4D CAMEO_DEU_2015_4E CAMEO_DEU_2015_5A CAMEO_DEU_2015_5B CAMEO_DEU_2015_5C CAMEO_DEU_2015_5D CAMEO_DEU_2015_5E CAMEO_DEU_2015_5F CAMEO_DEU_2015_6A CAMEO_DEU_2015_6B CAMEO_DEU_2015_6C CAMEO_DEU_2015_6D CAMEO_DEU_2015_6E CAMEO_DEU_2015_6F CAMEO_DEU_2015_7A ... MOVEMENT_AVANTGARDE MOVEMENT_MAINSTREAM NATIONALITAET_KZ_1.0 NATIONALITAET_KZ_2.0 NATIONALITAET_KZ_3.0 ONLINE_AFFINITAET ORTSGR_KLS9 OST_WEST_KZ_O OST_WEST_KZ_W PLZ8_ANTG1 PLZ8_ANTG2 PLZ8_ANTG3 PLZ8_ANTG4 PLZ8_BAUMAX PLZ8_GBZ PLZ8_HHZ REGIOTYP RELAT_AB RETOURTYP_BK_S SEMIO_DOM SEMIO_ERL SEMIO_FAM SEMIO_KAEM SEMIO_KRIT SEMIO_KULT SEMIO_LUST SEMIO_MAT SEMIO_PFLICHT SEMIO_RAT SEMIO_REL SEMIO_SOZ SEMIO_TRADV SEMIO_VERT SHOPPER_TYP_0.0 SHOPPER_TYP_1.0 SHOPPER_TYP_2.0 SHOPPER_TYP_3.0 SOHO_KZ_0.0 SOHO_KZ_1.0 VERS_TYP_1.0 VERS_TYP_2.0 WOHNDAUER_2008 WOHNLAGE W_KEIT_KIND_HH ZABEOTYP_1.0 ZABEOTYP_2.0 ZABEOTYP_3.0 ZABEOTYP_4.0 ZABEOTYP_5.0 ZABEOTYP_6.0
count 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 ... 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05 7.576020e+05
mean -2.272546e-16 -4.703128e-15 6.593815e-15 -6.594852e-15 2.065324e-15 -5.394815e-15 1.897024e-15 -3.429116e-15 2.222855e-14 7.861865e-16 2.886146e-14 -4.288765e-15 5.755902e-15 3.348902e-15 2.061138e-14 -7.865147e-16 -1.000644e-14 -1.111878e-14 -5.433513e-15 1.694939e-14 1.209135e-14 6.759296e-15 1.393908e-14 1.015679e-14 -1.593695e-15 -5.142225e-15 1.249854e-14 7.867810e-15 7.280467e-15 7.166953e-15 2.033315e-14 -1.064840e-14 -1.632420e-15 7.605414e-16 5.165676e-15 4.032543e-15 -1.030672e-15 -5.020827e-15 1.862612e-14 1.175249e-14 -1.017250e-15 2.422599e-14 5.685195e-15 -2.792147e-15 -1.421337e-14 -3.049331e-15 1.809502e-15 1.946950e-14 -1.026755e-15 -4.560065e-15 ... 1.099160e-14 2.978655e-14 3.160473e-15 8.430763e-15 -1.463589e-14 -2.144446e-15 -3.130667e-16 -2.688854e-13 2.688854e-13 2.375463e-15 1.119095e-14 -3.068114e-15 1.467535e-14 -1.129296e-14 -1.000325e-14 1.662668e-15 -3.306696e-15 -6.317029e-16 1.977794e-15 -1.092204e-14 -1.244375e-15 9.833078e-15 1.591316e-15 9.460988e-16 4.972689e-15 2.575892e-15 2.188298e-15 1.892033e-15 -1.587520e-15 2.261691e-15 4.986796e-15 7.818603e-15 -8.813412e-17 3.283156e-15 1.823203e-15 3.717158e-15 1.125217e-14 -1.182657e-15 1.139973e-15 8.538281e-16 -8.002874e-15 2.400135e-15 4.843313e-15 -1.369151e-15 -1.741379e-15 2.349995e-15 2.488104e-15 -1.816074e-15 2.510853e-14 -1.422046e-14
std 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 ... 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00 1.000001e+00
min -1.770511e+00 -4.473998e+00 -9.576110e-01 -1.044265e+00 -4.795134e-01 -1.270987e-01 -1.486546e+00 -6.090768e-02 -2.204920e+00 -1.429920e+00 -2.185779e-01 -3.368757e-01 -3.370117e-01 -3.821239e-01 -2.680575e-01 -3.954105e-01 -3.328242e-01 -4.605149e-01 -4.052911e-01 -1.172561e-01 -7.159923e-02 -7.351122e-02 -1.242112e-01 -8.004328e-02 -1.267239e-01 -1.380837e-01 -1.554844e-01 -2.140208e-01 -8.885068e-02 -8.745926e-02 -2.132541e-01 -2.121524e-01 -2.048840e-01 -1.055481e-01 -2.496636e-01 -1.043137e-01 -8.195029e-02 -1.148201e-01 -1.143116e-01 -1.105922e-01 -1.393588e-01 -6.771507e-02 -7.388238e-02 -9.346590e-02 -2.789985e-01 -1.387671e-01 -8.852564e-02 -1.459906e-01 -8.270596e-02 -2.140141e-01 ... -5.305101e-01 -1.715066e+00 -2.254487e+00 -2.961720e-01 -2.057777e-01 -1.736549e+00 -1.892459e+00 -5.193551e-01 -1.925465e+00 -2.309991e+00 -3.085400e+00 -1.651672e+00 -9.848615e-01 -6.514735e-01 -2.134942e+00 -2.716192e+00 -1.963580e+00 -1.548350e+00 -1.680480e+00 -1.974523e+00 -1.982152e+00 -1.641141e+00 -1.761984e+00 -2.031246e+00 -1.619177e+00 -1.618372e+00 -1.491213e+00 -1.682597e+00 -1.739098e+00 -1.568365e+00 -1.635034e+00 -1.549568e+00 -1.678578e+00 -4.444630e-01 -6.627546e-01 -6.008226e-01 -5.279456e-01 -1.087519e+01 -9.195239e-02 -9.023848e-01 -1.009120e+00 -3.680512e+00 -2.144039e+00 -1.881340e+00 -4.230409e-01 -1.903893e-01 -7.457307e-01 -5.959609e-01 -3.388301e-01 -3.159830e-01
25% -7.879106e-01 -4.535837e-01 -9.576110e-01 -1.044265e+00 -4.162481e-01 -1.270987e-01 -6.250342e-01 -6.090768e-02 -1.852525e-01 -9.732939e-01 -2.185779e-01 -3.368757e-01 -3.370117e-01 -3.821239e-01 -2.680575e-01 -3.954105e-01 -3.328242e-01 -4.605149e-01 -4.052911e-01 -1.172561e-01 -7.159923e-02 -7.351122e-02 -1.242112e-01 -8.004328e-02 -1.267239e-01 -1.380837e-01 -1.554844e-01 -2.140208e-01 -8.885068e-02 -8.745926e-02 -2.132541e-01 -2.121524e-01 -2.048840e-01 -1.055481e-01 -2.496636e-01 -1.043137e-01 -8.195029e-02 -1.148201e-01 -1.143116e-01 -1.105922e-01 -1.393588e-01 -6.771507e-02 -7.388238e-02 -9.346590e-02 -2.789985e-01 -1.387671e-01 -8.852564e-02 -1.459906e-01 -8.270596e-02 -2.140141e-01 ... -5.305101e-01 -1.715066e+00 4.435598e-01 -2.961720e-01 -2.057777e-01 -1.090716e+00 -5.833912e-01 -5.193551e-01 5.193551e-01 -1.277262e+00 -8.962472e-01 -6.314747e-01 -9.848615e-01 -6.514735e-01 -3.266677e-01 -6.431262e-01 -8.442965e-01 -8.089256e-01 -9.938439e-01 -8.716787e-01 -8.901950e-01 -1.113788e+00 -6.939314e-01 -8.754566e-01 -5.935819e-01 -1.141437e+00 -9.675649e-01 -6.278250e-01 -5.309154e-01 -5.227503e-01 -1.120725e+00 -9.802603e-01 -1.160171e+00 -4.444630e-01 -6.627546e-01 -6.008226e-01 -5.279456e-01 9.195239e-02 -9.195239e-02 -9.023848e-01 -1.009120e+00 2.044973e-02 -5.576250e-01 -7.023509e-01 -4.230409e-01 -1.903893e-01 -7.457307e-01 -5.959609e-01 -3.388301e-01 -3.159830e-01
50% 1.946894e-01 1.649415e-01 -9.576110e-01 9.576110e-01 -2.897175e-01 -1.270987e-01 -6.250342e-01 -6.090768e-02 -1.852525e-01 3.965852e-01 -2.185779e-01 -3.368757e-01 -3.370117e-01 -3.821239e-01 -2.680575e-01 -3.954105e-01 -3.328242e-01 -4.605149e-01 -4.052911e-01 -1.172561e-01 -7.159923e-02 -7.351122e-02 -1.242112e-01 -8.004328e-02 -1.267239e-01 -1.380837e-01 -1.554844e-01 -2.140208e-01 -8.885068e-02 -8.745926e-02 -2.132541e-01 -2.121524e-01 -2.048840e-01 -1.055481e-01 -2.496636e-01 -1.043137e-01 -8.195029e-02 -1.148201e-01 -1.143116e-01 -1.105922e-01 -1.393588e-01 -6.771507e-02 -7.388238e-02 -9.346590e-02 -2.789985e-01 -1.387671e-01 -8.852564e-02 -1.459906e-01 -8.270596e-02 -2.140141e-01 ... -5.305101e-01 5.830680e-01 4.435598e-01 -2.961720e-01 -2.057777e-01 2.009502e-01 -1.470353e-01 -5.193551e-01 5.193551e-01 -2.445336e-01 1.983294e-01 3.887232e-01 3.933035e-01 -6.514735e-01 -3.266677e-01 3.934067e-01 2.749867e-01 -6.950140e-02 3.794279e-01 2.311659e-01 -3.442164e-01 -5.908138e-02 -1.599051e-01 2.803332e-01 -8.078435e-02 2.893684e-01 7.973174e-02 -1.004391e-01 7.317568e-02 5.727682e-05 -9.210698e-02 1.583552e-01 3.950512e-01 -4.444630e-01 -6.627546e-01 -6.008226e-01 -5.279456e-01 9.195239e-02 -9.195239e-02 -9.023848e-01 9.909622e-01 5.491585e-01 -5.576250e-01 -1.128564e-01 -4.230409e-01 -1.903893e-01 -7.457307e-01 -5.959609e-01 -3.388301e-01 -3.159830e-01
75% 1.177290e+00 4.742042e-01 1.044265e+00 9.576110e-01 8.987423e-02 -1.270987e-01 2.364772e-01 -6.090768e-02 8.245810e-01 8.532116e-01 -2.185779e-01 -3.368757e-01 -3.370117e-01 -3.821239e-01 -2.680575e-01 -3.954105e-01 -3.328242e-01 -4.605149e-01 -4.052911e-01 -1.172561e-01 -7.159923e-02 -7.351122e-02 -1.242112e-01 -8.004328e-02 -1.267239e-01 -1.380837e-01 -1.554844e-01 -2.140208e-01 -8.885068e-02 -8.745926e-02 -2.132541e-01 -2.121524e-01 -2.048840e-01 -1.055481e-01 -2.496636e-01 -1.043137e-01 -8.195029e-02 -1.148201e-01 -1.143116e-01 -1.105922e-01 -1.393588e-01 -6.771507e-02 -7.388238e-02 -9.346590e-02 -2.789985e-01 -1.387671e-01 -8.852564e-02 -1.459906e-01 -8.270596e-02 -2.140141e-01 ... -5.305101e-01 5.830680e-01 4.435598e-01 -2.961720e-01 -2.057777e-01 8.467832e-01 7.256765e-01 -5.193551e-01 5.193551e-01 7.881951e-01 1.983294e-01 3.887232e-01 3.933035e-01 7.141541e-01 5.774697e-01 3.934067e-01 8.346283e-01 6.699228e-01 1.066064e+00 7.825881e-01 7.477408e-01 9.956253e-01 9.081476e-01 8.582281e-01 9.448107e-01 7.663034e-01 6.033800e-01 9.543329e-01 6.772668e-01 5.228649e-01 9.365113e-01 7.276630e-01 9.134585e-01 -4.444630e-01 1.508854e+00 1.664385e+00 -5.279456e-01 9.195239e-02 -9.195239e-02 1.108175e+00 9.909622e-01 5.491585e-01 4.999843e-01 1.066132e+00 -4.230409e-01 -1.903893e-01 1.340967e+00 1.677963e+00 -3.388301e-01 -3.159830e-01
max 1.177290e+00 1.711255e+00 1.044265e+00 9.576110e-01 3.336742e+01 6.987557e+01 3.728147e+01 5.814632e+01 1.834415e+00 1.309838e+00 4.575027e+00 2.968454e+00 2.967256e+00 2.616952e+00 3.730543e+00 2.529017e+00 3.004589e+00 2.171482e+00 2.467363e+00 8.528338e+00 1.396663e+01 1.360337e+01 8.050806e+00 1.249324e+01 7.891171e+00 7.241985e+00 6.431514e+00 4.672442e+00 1.125484e+01 1.143390e+01 4.689241e+00 4.713593e+00 4.880811e+00 9.474354e+00 4.005390e+00 9.586465e+00 1.220252e+01 8.709276e+00 8.748019e+00 9.042226e+00 7.175720e+00 1.476776e+01 1.353503e+01 1.069909e+01 3.584248e+00 7.206320e+00 1.129616e+01 6.849757e+00 1.209103e+01 4.672589e+00 ... 1.884978e+00 5.830680e-01 4.435598e-01 3.376417e+00 4.859614e+00 1.492616e+00 1.598388e+00 1.925465e+00 5.193551e-01 1.820924e+00 1.292906e+00 1.408921e+00 1.771469e+00 2.079782e+00 1.481607e+00 1.429940e+00 1.394270e+00 1.409347e+00 1.066064e+00 1.334010e+00 1.293719e+00 1.522979e+00 1.442174e+00 1.436123e+00 1.457608e+00 1.243238e+00 1.650677e+00 1.481719e+00 1.885449e+00 1.568480e+00 1.450820e+00 1.866278e+00 1.431866e+00 2.249906e+00 1.508854e+00 1.664385e+00 1.894135e+00 9.195239e-02 1.087519e+01 1.108175e+00 9.909622e-01 5.491585e-01 2.086398e+00 1.066132e+00 2.363838e+00 5.252397e+00 1.340967e+00 1.677963e+00 2.951331e+00 3.164727e+00

8 rows × 216 columns

Discussion 2.1: Apply Feature Scaling

I found this section to be one of the most challenging in the project since it required me to save and restore the column names and index, and that wasn't obvious to me at first. I scaled the values using StandardScaler() and then verified that it worked as expected by checking for standard deviation values of 1.

Step 2.2: Perform Dimensionality Reduction

On your scaled data, you are now ready to apply dimensionality reduction techniques.

  • Use sklearn's PCA class to apply principal component analysis on the data, thus finding the vectors of maximal variance in the data. To start, you should not set any parameters (so all components are computed) or set a number of components that is at least half the number of features (so there's enough features to see the general trend in variability).
  • Check out the ratio of variance explained by each principal component as well as the cumulative variance explained. Try plotting the cumulative or sequential values using matplotlib's plot() function. Based on what you find, select a value for the number of transformed features you'll retain for the clustering part of the project.
  • Once you've made a choice for the number of components to keep, make sure you re-fit a PCA instance to perform the decided-on transformation.
In [49]:
azdias_scaled.shape
Out[49]:
(757602, 216)
In [50]:
# Apply PCA to the data.
pca = PCA()
X_pca = pca.fit_transform(azdias_scaled)
In [51]:
# Investigate the variance accounted for by each principal component.

def scree_plot(pca):
    '''
    Creates a scree plot associated with the principal components 

    INPUT: pca - the result of instantiation of PCA in scikit learn

    OUTPUT:
            None
    '''
    num_components = len(pca.explained_variance_ratio_)
    ind = np.arange(num_components)
    vals = pca.explained_variance_ratio_

    ax1 = plt.subplot(111)
    cumvals = np.cumsum(vals)
    ax1.bar(ind, vals)

    ax2 = ax1.twinx()

    ax2.plot(ind, cumvals, color='r')

    ax1.xaxis.set_tick_params(width=0)
    ax1.yaxis.set_tick_params(width=2, length=12)

    ax1.set_xlabel("Principal Component")
    ax1.set_ylabel("Variance Explained (%)")
    ax2.set_ylabel("Total Variance Explained (%)")
    ax1.grid(None)

    plt.title('Explained Variance Per Principal Component')
In [52]:
scree_plot(pca)

We can see from the plot that 80% of the variance is explained by fewer than 100 components. I estimated the cutoff to be approximately 85 components.

In [53]:
# Re-apply PCA to the data while selecting for number of components to retain.

# Approximately 85 components explain 80% of the variance
pca_85 = PCA(n_components=85)
azdias_pca = pca_85.fit_transform(azdias_scaled)
In [54]:
scree_plot(pca_85)

After re-applying PCA with 85 components, I can see that my estimate was quite close - these 85 components explain almost 80% of the variance.

In [55]:
# I borrowed this function from the practice project helper functions
def pca_results(full_dataset, pca):
    '''
    Create a DataFrame of the PCA results
    Includes dimension feature weights and explained variance
    Visualizes the PCA results
    '''

    # Dimension indexing
    dimensions = dimensions = ['Dimension {}'.format(
        i) for i in range(1, len(pca.components_)+1)]

    # PCA components
    components = pd.DataFrame(
        np.round(pca.components_, 4), columns=full_dataset.keys())
    components.index = dimensions

    # PCA explained variance
    ratios = pca.explained_variance_ratio_.reshape(len(pca.components_), 1)
    variance_ratios = pd.DataFrame(
        np.round(ratios, 4), columns=['Explained Variance'])
    variance_ratios.index = dimensions

    # Create a bar plot visualization
    fig, ax = plt.subplots(figsize=(14, 8))

    # Plot the feature weights as a function of the components
    components.plot(ax=ax, kind='bar')
    ax.set_ylabel("Feature Weights")
    ax.set_xticklabels(dimensions, rotation=0)

    # Display the explained variance ratios
    for i, ev in enumerate(pca.explained_variance_ratio_):
        ax.text(i-0.40, ax.get_ylim()[1] + 0.05,
                "Explained Variance\n          %.4f" % (ev))

    # Return a concatenated DataFrame
    return pd.concat([variance_ratios, components], axis=1)
In [56]:
pca_results(azdias_scaled, pca_85)
Out[56]:
Explained Variance ALTERSKATEGORIE_GROB ALTER_HH ANREDE_KZ_1.0 ANREDE_KZ_2.0 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL ANZ_PERSONEN ANZ_TITEL ARBEIT BALLRAUM CAMEO_DEUG_2015_1.0 CAMEO_DEUG_2015_2.0 CAMEO_DEUG_2015_3.0 CAMEO_DEUG_2015_4.0 CAMEO_DEUG_2015_5.0 CAMEO_DEUG_2015_6.0 CAMEO_DEUG_2015_7.0 CAMEO_DEUG_2015_8.0 CAMEO_DEUG_2015_9.0 CAMEO_DEU_2015_1A CAMEO_DEU_2015_1B CAMEO_DEU_2015_1C CAMEO_DEU_2015_1D CAMEO_DEU_2015_1E CAMEO_DEU_2015_2A CAMEO_DEU_2015_2B CAMEO_DEU_2015_2C CAMEO_DEU_2015_2D CAMEO_DEU_2015_3A CAMEO_DEU_2015_3B CAMEO_DEU_2015_3C CAMEO_DEU_2015_3D CAMEO_DEU_2015_4A CAMEO_DEU_2015_4B CAMEO_DEU_2015_4C CAMEO_DEU_2015_4D CAMEO_DEU_2015_4E CAMEO_DEU_2015_5A CAMEO_DEU_2015_5B CAMEO_DEU_2015_5C CAMEO_DEU_2015_5D CAMEO_DEU_2015_5E CAMEO_DEU_2015_5F CAMEO_DEU_2015_6A CAMEO_DEU_2015_6B CAMEO_DEU_2015_6C CAMEO_DEU_2015_6D CAMEO_DEU_2015_6E CAMEO_DEU_2015_6F ... MOVEMENT_AVANTGARDE MOVEMENT_MAINSTREAM NATIONALITAET_KZ_1.0 NATIONALITAET_KZ_2.0 NATIONALITAET_KZ_3.0 ONLINE_AFFINITAET ORTSGR_KLS9 OST_WEST_KZ_O OST_WEST_KZ_W PLZ8_ANTG1 PLZ8_ANTG2 PLZ8_ANTG3 PLZ8_ANTG4 PLZ8_BAUMAX PLZ8_GBZ PLZ8_HHZ REGIOTYP RELAT_AB RETOURTYP_BK_S SEMIO_DOM SEMIO_ERL SEMIO_FAM SEMIO_KAEM SEMIO_KRIT SEMIO_KULT SEMIO_LUST SEMIO_MAT SEMIO_PFLICHT SEMIO_RAT SEMIO_REL SEMIO_SOZ SEMIO_TRADV SEMIO_VERT SHOPPER_TYP_0.0 SHOPPER_TYP_1.0 SHOPPER_TYP_2.0 SHOPPER_TYP_3.0 SOHO_KZ_0.0 SOHO_KZ_1.0 VERS_TYP_1.0 VERS_TYP_2.0 WOHNDAUER_2008 WOHNLAGE W_KEIT_KIND_HH ZABEOTYP_1.0 ZABEOTYP_2.0 ZABEOTYP_3.0 ZABEOTYP_4.0 ZABEOTYP_5.0 ZABEOTYP_6.0
Dimension 1 0.0799 -0.0721 0.0130 -0.0145 0.0145 0.1083 0.0246 -0.0906 -0.0059 0.1071 -0.0867 -0.0470 -0.0853 -0.0605 -0.0710 -0.0119 -0.0002 0.0331 0.0883 0.1074 -0.0184 -0.0126 -0.0126 -0.0371 -0.0166 -0.0366 -0.0352 -0.0435 -0.0482 -0.0224 -0.0248 -0.0333 -0.0363 -0.0436 -0.0201 -0.0449 -0.0150 -0.0110 0.0006 -0.0144 -0.0127 0.0039 -0.0021 -0.0057 0.0062 -0.0098 0.0003 0.0009 0.0109 0.0025 ... -0.1124 0.0955 -0.0581 0.0418 0.0229 -0.0579 0.1416 0.0456 -0.0456 -0.1732 0.1149 0.1707 0.1659 0.1616 -0.1279 0.0308 0.0588 0.0983 -0.0044 0.0211 -0.0395 0.0458 0.0372 0.0211 0.0363 -0.0470 0.0507 0.0711 0.0607 0.0667 0.0180 0.0494 -0.0391 -0.0227 0.0013 0.0313 -0.0289 0.0024 -0.0024 -0.0250 0.0129 -0.0526 -0.0542 0.0493 -0.0965 -0.0477 -0.0039 0.0302 0.0703 0.0370
Dimension 2 0.0549 0.2264 -0.1814 -0.0365 0.0365 0.0381 0.0227 -0.0678 0.0067 0.0423 -0.0345 0.0024 -0.0206 -0.0150 -0.0334 -0.0051 0.0116 0.0092 0.0318 0.0111 -0.0012 0.0001 0.0019 0.0021 0.0029 -0.0184 -0.0097 -0.0100 -0.0053 -0.0126 -0.0143 -0.0125 0.0018 -0.0274 -0.0118 -0.0186 -0.0026 0.0014 -0.0032 -0.0115 -0.0120 0.0091 0.0028 0.0035 -0.0014 -0.0058 0.0050 0.0069 0.0239 0.0113 ... -0.0013 -0.0012 0.0669 -0.0451 -0.0472 -0.1556 0.0529 0.0204 -0.0204 -0.0533 0.0372 0.0542 0.0510 0.0472 -0.0422 0.0067 0.0065 0.0382 0.1530 0.0229 0.1744 -0.1294 0.0524 0.0743 -0.1618 0.1562 -0.1244 -0.2028 -0.1638 -0.2098 -0.0610 -0.2004 -0.0177 -0.0489 -0.0190 -0.0025 0.0761 0.0020 -0.0020 -0.0173 0.0240 0.0536 -0.0365 0.1248 -0.0515 -0.0258 0.1924 -0.1064 -0.0946 0.0229
Dimension 3 0.0362 0.0098 -0.0257 0.3080 -0.3080 0.0237 0.0170 0.0180 0.0172 0.0440 -0.0714 0.0324 0.0132 -0.0239 -0.0402 0.0029 -0.0143 -0.0007 0.0149 0.0253 0.0104 0.0059 0.0115 0.0233 0.0181 0.0024 -0.0046 0.0029 0.0188 -0.0071 -0.0117 -0.0129 -0.0146 -0.0307 -0.0133 -0.0244 -0.0009 -0.0018 0.0010 -0.0105 -0.0138 0.0221 0.0019 0.0021 -0.0009 -0.0179 -0.0018 0.0001 0.0007 -0.0004 ... 0.1204 -0.1050 0.0082 0.0288 -0.0258 -0.0003 0.0935 -0.0053 0.0053 -0.0569 0.0481 0.0649 0.0636 0.0634 -0.0389 0.0240 -0.0342 0.0476 0.0665 -0.2376 -0.1857 0.2297 -0.2732 -0.2318 0.2197 0.0193 0.0774 -0.0200 -0.1335 0.1005 0.2320 -0.0108 0.2851 0.1040 0.0396 -0.0811 -0.0362 -0.0005 0.0005 -0.0166 0.0286 0.0164 -0.0727 0.0489 0.1104 0.0005 -0.0443 -0.0543 -0.0216 0.0416
Dimension 4 0.0313 -0.0244 0.0552 -0.1442 0.1442 0.0181 0.0278 0.1114 0.0291 0.0589 -0.1374 0.0877 0.0574 -0.0435 -0.0547 0.0162 -0.0294 -0.0067 0.0066 0.0066 0.0328 0.0220 0.0314 0.0593 0.0425 0.0224 -0.0051 0.0186 0.0608 -0.0057 -0.0180 -0.0224 -0.0322 -0.0501 -0.0208 -0.0275 0.0033 -0.0011 0.0062 -0.0152 -0.0180 0.0444 0.0081 0.0058 -0.0012 -0.0343 0.0001 -0.0008 -0.0049 -0.0041 ... 0.2417 -0.2359 -0.0200 0.0007 0.0109 0.0938 0.1764 -0.0470 0.0470 -0.0647 0.0776 0.0957 0.0878 0.0754 -0.0300 0.0611 -0.0822 0.0789 -0.0167 0.1622 0.0620 -0.1005 0.1627 0.0842 -0.1060 0.0090 -0.0247 0.0161 0.0766 -0.0407 -0.0763 0.0269 -0.1188 -0.0624 -0.0376 0.0258 0.0579 -0.0034 0.0034 -0.0123 0.0019 0.0164 -0.1771 -0.0952 0.0252 0.0814 -0.0312 0.0072 -0.0055 -0.0368
Dimension 5 0.0241 0.0474 0.0764 0.0260 -0.0260 0.0388 -0.0037 0.2607 -0.0015 0.0612 0.0113 -0.0615 -0.0584 -0.0068 0.0032 -0.0303 -0.0071 -0.0027 0.0511 0.0660 -0.0314 -0.0199 -0.0200 -0.0359 -0.0243 -0.0105 -0.0045 -0.0171 -0.0642 0.0010 0.0133 -0.0203 0.0041 0.0166 0.0108 -0.0085 -0.0107 -0.0027 -0.0119 0.0026 0.0031 -0.0410 -0.0100 -0.0079 0.0071 -0.0101 -0.0141 -0.0028 0.0127 -0.0016 ... -0.1235 0.1265 -0.0015 0.0239 -0.0081 0.0882 0.0080 0.0952 -0.0952 -0.0676 -0.0012 0.0471 0.0627 0.0694 -0.1038 -0.0587 0.1027 0.0315 0.0172 -0.0260 0.0315 -0.0095 -0.0061 -0.0545 0.0101 0.0148 -0.0406 -0.0374 -0.0485 -0.0324 0.0142 -0.0593 0.0269 0.0131 -0.0400 0.0263 0.0155 -0.0051 0.0051 -0.0077 0.0165 0.0805 0.0531 -0.1904 -0.0136 0.0104 0.0172 0.0476 -0.0672 -0.0201
Dimension 6 0.0174 0.0012 -0.0025 0.0008 -0.0008 -0.0424 0.0078 0.0472 0.0197 -0.0159 0.0071 0.0000 -0.0922 -0.0733 -0.1530 0.0861 0.3546 0.1520 -0.0544 -0.1906 0.0278 -0.0123 -0.0106 -0.0130 0.0003 -0.0524 0.0044 -0.0548 -0.0666 -0.0032 -0.0010 -0.0650 -0.0421 -0.0964 -0.0044 -0.1085 -0.0412 -0.0226 0.0388 0.0143 0.0626 0.0445 0.0126 0.0237 0.0526 0.2971 0.0927 0.0508 0.1200 0.0639 ... -0.0156 0.0155 0.0100 -0.0140 0.0009 0.0196 -0.0263 -0.0121 0.0121 -0.0161 0.0510 0.0130 -0.0172 -0.0250 0.0365 0.0280 -0.0433 -0.0059 -0.0059 -0.0157 -0.0130 0.0053 -0.0197 -0.0188 -0.0131 0.0293 0.0236 -0.0123 -0.0033 -0.0017 0.0007 0.0039 0.0136 0.0084 0.0034 -0.0247 0.0152 -0.0002 0.0002 0.0169 -0.0168 0.0075 -0.0034 -0.0138 -0.0158 -0.0223 0.0071 0.0223 -0.0065 -0.0051
Dimension 7 0.0157 0.0181 0.0133 0.0087 -0.0087 0.0209 0.0417 0.0450 0.0220 -0.1087 -0.0258 -0.1405 -0.2597 0.1367 0.2416 0.1882 -0.0756 -0.0266 -0.0408 -0.0304 -0.0843 -0.0367 -0.0370 -0.0879 -0.0440 -0.0854 -0.1466 -0.1294 -0.1388 0.0166 0.0190 0.1232 0.0646 0.1466 0.0426 0.1531 0.0733 0.0458 0.0704 0.0789 0.0438 0.1371 0.0502 0.0446 0.0156 -0.0818 -0.0033 0.0124 -0.0358 -0.0198 ... 0.0106 -0.0228 -0.0298 0.0262 -0.0066 -0.0038 0.0070 -0.2117 0.2117 0.0088 0.0681 0.0053 -0.0095 -0.0164 0.0749 0.0861 -0.0325 -0.0077 0.0207 -0.0109 0.0030 0.0086 -0.0181 -0.0104 -0.0164 0.0289 -0.0082 -0.0105 -0.0211 -0.0067 -0.0003 -0.0231 0.0072 0.0126 -0.0116 -0.0176 0.0065 -0.0020 0.0020 -0.0321 0.0204 0.0126 -0.0137 -0.0202 -0.0135 -0.0558 0.0256 0.0192 -0.0178 -0.0007
Dimension 8 0.0149 0.0054 0.0549 0.0097 -0.0097 0.0249 0.0446 -0.0313 0.0392 -0.0742 -0.0294 -0.0099 0.1011 -0.1664 -0.0752 0.3238 -0.0632 -0.0011 -0.0737 0.0449 0.0134 0.0047 0.0080 -0.0304 -0.0101 0.0662 0.0510 0.0386 0.0466 -0.0186 -0.0113 -0.0818 -0.1529 -0.0053 -0.0150 -0.0653 -0.0339 -0.0443 0.1451 0.1507 0.1369 0.1676 0.0742 0.0636 0.0468 -0.0364 -0.0246 0.0125 -0.0767 -0.0401 ... -0.0427 0.0546 -0.0057 0.0399 -0.0159 0.0145 0.0065 -0.0687 0.0687 -0.0040 -0.0166 -0.0130 0.0190 0.0379 -0.0063 0.0102 -0.0253 -0.0313 0.0471 0.0716 0.0220 -0.0031 0.0349 0.0695 -0.0035 -0.0428 0.0115 0.0053 0.0118 -0.0267 -0.0219 0.0164 -0.0142 -0.0872 0.0637 0.0756 -0.0593 -0.0055 0.0055 -0.0549 0.0663 -0.0176 0.0307 -0.0929 -0.0145 0.0285 -0.0310 0.0259 -0.0749 0.0911
Dimension 9 0.0147 -0.0124 -0.0279 -0.0247 0.0247 0.0585 0.0804 -0.0097 0.0638 0.0776 0.0428 0.0496 -0.0402 0.1059 -0.0756 0.2168 -0.0638 -0.1002 0.0053 -0.0308 0.0074 0.0016 0.0232 0.0366 0.0402 -0.0420 -0.0106 -0.0019 -0.0255 -0.0005 -0.0026 0.0376 0.1214 -0.0695 -0.0257 -0.0342 -0.0169 0.0114 0.0897 0.0697 0.0720 0.1432 0.0493 0.0739 0.0164 -0.1218 -0.0378 0.0531 0.0554 0.0091 ... 0.0309 -0.0286 0.0601 -0.0760 0.0121 0.0226 -0.0476 0.3414 -0.3414 -0.0517 -0.1043 -0.0043 0.0436 0.0841 -0.1497 -0.1394 -0.1276 -0.0439 -0.0554 -0.0333 -0.0121 -0.0052 -0.0242 -0.0350 -0.0201 0.0198 0.0249 -0.0234 0.0144 -0.0002 0.0174 0.0327 0.0078 0.0161 0.0020 -0.0650 0.0638 -0.0078 0.0078 0.0868 -0.0773 -0.0009 0.0770 0.0303 0.0170 0.0248 -0.0144 -0.0210 0.0437 -0.0272
Dimension 10 0.0144 -0.0199 0.0251 0.0011 -0.0011 -0.0455 -0.0291 -0.0633 -0.0177 0.1261 -0.0536 -0.0499 -0.2164 0.1936 0.0903 -0.1094 0.0735 0.0655 -0.0167 -0.0703 -0.0372 -0.0270 -0.0226 -0.0166 -0.0063 -0.0931 -0.0816 -0.1017 -0.1337 0.0634 0.0489 0.0932 0.1465 0.0071 0.0311 0.0787 0.0344 0.0421 -0.0368 -0.0747 -0.0506 -0.0435 -0.0287 -0.0185 -0.0080 0.0476 0.0209 0.0071 0.0522 0.0320 ... 0.0666 -0.0340 0.0411 -0.0034 -0.0139 0.0489 0.0845 0.1211 -0.1211 -0.0540 0.0119 0.0355 0.0319 0.0522 -0.0966 -0.0813 0.0029 0.0694 0.0182 0.0912 0.0065 -0.0098 0.0539 0.0636 0.0167 -0.0611 0.0240 0.0257 0.0296 -0.0135 -0.0155 0.0328 -0.0122 -0.0825 0.0551 0.0828 -0.0452 -0.0006 0.0006 -0.0138 0.0390 -0.0304 -0.0593 -0.0846 -0.0328 0.0478 -0.0617 0.0677 -0.0697 0.0833
Dimension 11 0.0134 0.0082 0.0447 -0.0078 0.0078 0.1126 0.1034 0.0291 0.0973 -0.1197 0.0125 0.0379 0.0813 0.0379 0.0367 -0.2666 -0.1021 0.1577 -0.0026 -0.0019 0.0207 0.0159 0.0339 0.0004 0.0232 0.0196 0.0229 0.0426 0.0614 0.0014 0.0112 0.0616 -0.0108 0.0143 0.0081 0.0327 0.0109 -0.0031 -0.1020 -0.1397 -0.1331 -0.0973 -0.0712 -0.0913 -0.0616 -0.0598 -0.0040 -0.0818 -0.0262 -0.0276 ... -0.0221 0.0136 0.0090 -0.0056 -0.0070 -0.0105 -0.0740 0.0134 -0.0134 0.0157 -0.0647 -0.0406 0.0094 0.0233 0.0464 0.0641 -0.0835 -0.1176 0.0087 0.0083 0.0101 0.0005 -0.0092 0.0109 -0.0292 0.0213 0.0205 -0.0138 0.0059 -0.0175 -0.0088 0.0069 -0.0077 -0.0342 0.0374 -0.0138 0.0049 -0.0130 0.0130 -0.0050 0.0059 0.0042 0.0927 -0.0102 0.0166 0.0115 0.0050 -0.0379 -0.0049 0.0269
Dimension 12 0.0124 0.0058 0.0022 -0.0139 0.0139 0.1277 0.0851 -0.0114 0.0449 -0.0702 -0.0010 0.1315 -0.1305 0.0613 -0.0101 -0.0259 0.1486 -0.1456 -0.2375 0.2488 0.0753 -0.0055 0.0011 0.1121 0.0668 0.0276 0.0139 -0.0985 -0.1459 0.0535 0.0581 -0.0605 0.1041 0.0955 0.0445 -0.1066 -0.0444 0.0351 -0.0205 0.0331 0.0236 -0.0743 -0.0316 0.0249 0.0130 0.1426 -0.0339 0.0486 0.0677 0.0409 ... 0.0155 -0.0337 -0.0321 0.0138 0.0038 -0.0122 0.0006 -0.0668 0.0668 0.0305 -0.0715 -0.0330 0.0274 0.0134 -0.0053 0.0164 0.0609 -0.0399 -0.0181 -0.0133 0.0085 -0.0048 0.0115 -0.0022 -0.0045 0.0327 -0.0248 0.0061 0.0030 0.0099 0.0014 -0.0120 -0.0155 0.0089 -0.0157 -0.0382 0.0315 -0.0097 0.0097 -0.0020 -0.0136 -0.0087 0.0242 0.0588 0.0367 0.0126 0.0007 -0.0311 0.0394 -0.0491
Dimension 13 0.0119 -0.0472 -0.1000 -0.0030 0.0030 0.0404 0.0629 -0.0169 0.0606 -0.0404 -0.0830 0.1266 0.0560 0.1352 -0.0730 -0.0454 0.0558 -0.1722 0.0430 -0.0899 0.0699 0.0494 0.0514 0.0536 0.0564 -0.0264 0.0191 0.0262 0.0667 0.0226 0.0268 0.0974 0.0825 -0.1011 -0.0162 -0.0141 0.0034 0.0024 -0.0446 -0.0687 -0.0142 0.0223 0.0015 -0.0021 -0.0149 0.0233 0.0327 0.0230 0.0458 0.0172 ... -0.1159 0.1150 -0.0704 0.0634 0.0279 0.0505 0.0424 -0.0960 0.0960 0.0218 0.0212 0.0016 -0.0042 -0.0289 0.0799 0.0985 -0.0348 -0.0139 0.0442 0.0403 -0.0418 0.0207 0.0271 0.0332 0.0326 -0.0203 0.0657 0.0558 0.0682 0.0523 -0.0100 0.0809 -0.0122 -0.0206 0.0046 0.0219 -0.0184 -0.0220 0.0220 0.0324 -0.0390 -0.0225 -0.0603 -0.0280 -0.0076 0.0369 -0.0542 0.0621 -0.0755 0.0611
Dimension 14 0.0117 0.0262 -0.0857 -0.0346 0.0346 0.0199 -0.0079 -0.0255 -0.0193 -0.0483 0.0413 -0.0789 -0.0329 -0.0997 0.0553 0.0046 -0.1328 0.2423 -0.0405 0.0721 -0.0574 -0.0364 -0.0339 -0.0189 -0.0306 0.0581 -0.0236 -0.0212 -0.0527 -0.0114 -0.0081 -0.0865 -0.0532 0.1252 0.0012 -0.0230 -0.0106 0.0026 0.0384 0.0481 -0.0047 -0.0466 -0.0181 -0.0073 -0.0088 -0.1014 -0.0590 -0.0388 -0.0349 -0.0232 ... 0.0441 -0.0488 -0.0184 0.0024 0.0001 0.0336 -0.0461 0.0064 -0.0064 -0.0160 -0.0232 -0.0004 0.0240 0.0334 -0.0136 0.0037 0.0148 -0.0396 -0.0120 -0.0315 0.0322 0.0179 0.0038 -0.0207 0.0113 0.0505 0.1181 0.0211 0.0642 0.0358 -0.0191 0.0518 0.0028 -0.0352 0.0014 -0.0405 0.0589 0.0001 -0.0001 0.2674 -0.2780 0.0090 0.0770 -0.0002 0.0169 0.0155 -0.0530 0.0355 -0.0376 0.0428
Dimension 15 0.0116 0.0403 0.0255 0.0312 -0.0312 0.0601 0.0072 -0.0009 -0.0305 -0.0315 0.0686 0.0100 0.0173 -0.0945 0.0606 -0.0822 0.1178 -0.1934 0.0089 0.1039 0.0352 -0.0023 -0.0045 -0.0103 -0.0029 0.0564 0.0106 -0.0236 0.0017 0.0012 -0.0002 -0.0614 -0.0797 0.0959 0.0250 -0.0044 -0.0011 -0.0013 -0.0547 -0.0042 -0.0095 -0.0570 -0.0341 -0.0375 -0.0161 0.1230 0.0168 -0.0006 0.0466 0.0127 ... 0.0579 -0.0527 -0.0066 0.0360 -0.0159 -0.0032 -0.0746 0.0599 -0.0599 0.0045 -0.0111 0.0058 -0.0014 -0.0366 0.0715 0.0881 -0.0672 -0.0471 0.0434 -0.0160 0.0204 0.0104 -0.0414 -0.0118 -0.0060 -0.0105 0.0089 -0.0411 -0.0562 -0.0383 0.0181 -0.0322 0.0331 -0.0321 0.0187 0.0247 -0.0081 0.0023 -0.0023 -0.0017 0.0103 0.0356 0.0549 -0.1466 -0.0561 -0.0143 -0.0054 0.0638 -0.1033 0.0999
Dimension 16 0.0112 -0.0322 -0.0147 -0.0391 0.0391 -0.0486 -0.0364 0.0293 -0.0229 -0.0449 0.0354 0.1177 -0.0709 0.1688 -0.2048 0.0168 -0.0974 -0.0191 0.0999 0.0314 0.0497 0.0208 0.0128 0.0989 0.0538 -0.0179 -0.0182 -0.0375 -0.0541 0.0388 0.0361 0.0657 0.1533 -0.0998 -0.0425 -0.1574 -0.0613 -0.0113 0.0314 0.0018 0.0183 -0.0263 -0.0042 0.0315 0.0011 -0.0760 -0.0676 0.0109 -0.0347 -0.0064 ... -0.0196 0.0183 -0.0855 0.0807 0.0222 -0.0887 -0.0589 -0.0710 0.0710 -0.0120 0.0764 0.0260 -0.0172 -0.0294 0.0974 0.1062 -0.0210 -0.0185 0.0752 0.0308 -0.0066 0.0382 0.0331 0.0029 0.0353 0.0096 0.2177 0.0820 0.1315 0.0715 -0.0353 0.1179 -0.0156 -0.1141 0.0540 0.0342 -0.0066 0.0088 -0.0088 0.2324 -0.2415 0.0684 0.0350 -0.0122 0.0273 0.0077 -0.0284 -0.0829 -0.0458 0.1837
Dimension 17 0.0110 0.0364 0.0580 0.0478 -0.0478 0.0264 0.0047 -0.0040 -0.0432 -0.0614 -0.0016 0.1386 -0.0320 0.1709 -0.2049 0.0367 -0.1919 0.2071 -0.0078 -0.0140 0.0338 0.0294 0.0155 0.1307 0.0727 0.0291 -0.0307 -0.0232 -0.0275 0.0240 0.0348 0.0518 0.1774 -0.0688 -0.0721 -0.1674 -0.0741 -0.0032 0.0542 0.0335 0.0063 -0.0331 -0.0042 0.0462 -0.0150 -0.1953 -0.0930 0.0035 -0.0064 -0.0049 ... -0.0222 0.0246 0.0533 -0.0265 -0.0270 0.0714 -0.0212 -0.0315 0.0315 0.0274 -0.0186 -0.0087 0.0003 -0.0271 0.1012 0.1240 0.0281 -0.0582 -0.0277 -0.0244 0.0095 -0.0284 -0.0374 0.0130 -0.0410 0.0155 -0.1585 -0.0880 -0.1256 -0.0817 0.0408 -0.1045 0.0257 0.0346 0.0157 -0.0254 -0.0044 0.0154 -0.0154 -0.2452 0.2581 -0.0409 0.0032 -0.0570 -0.0311 -0.0066 0.0220 0.0723 -0.0035 -0.1007
Dimension 18 0.0105 0.0033 -0.0061 -0.0076 0.0076 0.1637 0.0564 -0.0039 -0.1316 -0.0291 -0.1133 -0.1573 0.1754 0.0788 -0.0115 0.0019 0.0644 0.1075 -0.2992 0.0546 -0.1017 -0.0264 -0.0378 -0.0856 -0.0746 0.0296 0.0288 0.0981 0.1494 -0.0091 -0.0086 0.0909 0.0339 -0.0567 -0.0323 0.0349 0.0235 0.0003 -0.0108 -0.0280 -0.0315 0.0443 0.0258 0.0068 -0.0010 -0.0225 0.0747 0.0263 0.0913 0.0290 ... -0.0521 0.0446 -0.0178 0.0165 0.0112 0.0042 0.0640 0.0300 -0.0300 0.0151 -0.0976 -0.0177 0.0549 0.0313 -0.0134 0.0389 -0.0430 -0.0594 0.0192 -0.0132 0.0072 0.0112 0.0095 -0.0306 -0.0011 0.0292 0.0363 -0.0019 0.0226 0.0125 0.0221 0.0373 0.0171 -0.0200 0.0194 -0.0858 0.0884 0.0664 -0.0664 0.1141 -0.1131 0.0069 -0.0313 -0.0467 0.0107 -0.0373 -0.0270 0.0450 -0.0313 0.0198
Dimension 19 0.0104 0.0991 0.0501 0.0003 -0.0003 0.0129 0.0179 -0.0467 0.0038 -0.0348 0.0231 -0.0330 -0.0027 -0.0141 -0.0139 0.0019 -0.0039 -0.0898 0.2684 -0.1648 -0.0106 -0.0135 -0.0119 -0.0213 -0.0153 -0.0182 0.0232 0.0015 -0.0093 0.0189 0.0492 -0.0157 -0.0344 -0.0163 0.0262 -0.0131 -0.0068 -0.0047 -0.0004 -0.0140 0.0297 -0.0095 0.0003 0.0018 -0.0089 0.0174 -0.0020 -0.0069 -0.0259 -0.0052 ... -0.0024 -0.0041 0.0803 -0.0739 -0.0480 0.0758 -0.0093 -0.0684 0.0684 -0.0044 0.0178 0.0028 0.0064 0.0160 -0.0229 -0.0232 0.0180 0.0104 -0.0707 -0.0805 0.0414 -0.0219 -0.0279 -0.0725 -0.0396 0.1041 -0.0343 -0.0863 -0.0799 -0.0532 0.0187 -0.0753 0.0440 0.0321 -0.0739 -0.1009 0.1613 -0.0046 0.0046 0.1952 -0.1943 -0.0425 0.0069 -0.0858 0.0081 -0.0468 -0.0098 0.1068 -0.0145 -0.1121
Dimension 20 0.0102 -0.0233 -0.0203 -0.0067 0.0067 -0.0341 0.0355 -0.0018 0.0551 0.0500 -0.0776 0.3284 -0.0812 -0.2591 0.2321 -0.0528 -0.0585 0.0675 -0.0303 -0.0541 0.1634 0.1039 0.1111 0.1806 0.1508 0.0092 -0.0342 -0.0568 -0.0608 -0.1079 -0.0988 -0.2014 -0.0949 0.1869 0.0329 0.1117 0.0491 0.0724 -0.0400 0.0112 -0.0596 -0.0126 -0.0246 -0.0008 -0.0280 -0.1013 -0.0212 0.0137 0.0557 0.0312 ... -0.0724 0.0798 -0.0076 0.0106 0.0132 0.0064 0.0868 -0.0282 0.0282 -0.0008 0.0162 0.0030 -0.0019 0.0217 -0.1249 -0.1580 -0.0362 0.0848 0.0128 0.0152 -0.0060 -0.0018 0.0116 0.0072 0.0072 -0.0143 0.0343 0.0090 0.0308 0.0094 0.0056 0.0394 0.0052 -0.0157 0.0316 -0.0391 0.0273 0.0047 -0.0047 0.0172 -0.0117 0.0106 -0.0792 -0.0296 -0.0151 -0.0002 -0.0140 0.0335 -0.0245 0.0168
Dimension 21 0.0100 0.0312 0.0189 -0.0084 0.0084 -0.0712 -0.0342 0.0102 -0.0092 0.0332 -0.0517 -0.0841 0.0864 0.1708 -0.1377 -0.0510 -0.0304 -0.0647 -0.1115 0.2016 0.0177 -0.0154 -0.0227 -0.1110 -0.0410 -0.0112 0.1155 0.0298 0.0360 0.0812 0.0951 0.1156 0.0624 -0.1072 0.0246 -0.0857 -0.0338 -0.0466 -0.0117 -0.0542 0.0137 -0.0108 -0.0279 -0.0470 -0.0053 0.0644 -0.0345 -0.0507 -0.0978 -0.0416 ... 0.0091 -0.0189 -0.0446 0.0319 0.0012 0.0235 0.0398 -0.0961 0.0961 -0.0255 0.0591 0.0032 -0.0161 0.0500 -0.1812 -0.2410 0.1188 0.0865 0.0120 -0.0288 0.0283 -0.0108 0.0062 0.0186 -0.0131 0.0678 -0.0192 -0.0081 -0.0198 -0.0055 -0.0211 -0.0399 -0.0069 -0.0057 0.0130 -0.0082 -0.0195 0.0059 -0.0059 -0.0192 0.0034 0.0095 0.0235 -0.0016 -0.0178 -0.0298 0.0187 0.0367 -0.0127 -0.0326
Dimension 22 0.0096 0.0218 -0.0315 0.0243 -0.0243 -0.0279 -0.0046 -0.0867 0.0349 0.0102 0.0130 0.1162 -0.0724 0.0201 0.0014 -0.0047 -0.0389 0.0438 -0.0868 0.0727 0.0842 0.0428 0.0474 0.0436 0.0333 -0.0891 -0.0098 -0.0270 -0.0262 0.0065 0.0048 0.0386 -0.0137 -0.0556 0.0192 0.0373 0.0112 -0.0068 -0.0062 -0.0372 0.0494 -0.0044 0.0023 -0.0165 -0.0065 0.0101 -0.0119 -0.0293 -0.0615 -0.0284 ... 0.0120 -0.0084 0.0125 -0.0110 0.0028 0.0115 -0.0016 -0.0026 0.0026 0.0143 0.0008 -0.0151 -0.0235 -0.0199 0.0076 -0.0187 -0.0262 0.0115 0.0009 -0.0225 -0.0032 0.0060 -0.0289 -0.0147 0.0026 -0.0004 -0.0195 -0.0233 -0.0268 -0.0113 0.0006 -0.0216 0.0179 0.0318 -0.0316 0.0190 -0.0086 0.0867 -0.0867 -0.0046 0.0088 -0.0398 -0.0076 -0.0563 -0.0052 -0.0669 0.0010 0.0587 -0.0330 -0.0074
Dimension 23 0.0094 0.0120 -0.0156 0.0089 -0.0089 -0.0593 -0.0174 -0.0158 0.0576 0.0641 0.0023 -0.0409 0.0321 0.0220 -0.0387 0.0025 0.0196 0.0991 -0.1293 0.0497 -0.0447 -0.0069 0.0023 -0.0226 -0.0035 0.0179 -0.0320 0.0222 0.0413 -0.0243 -0.0270 0.0230 0.0318 -0.0279 -0.0430 -0.0128 0.0044 -0.0045 -0.0239 0.0124 -0.0089 0.0095 0.0143 0.0088 -0.0000 -0.0246 0.0341 0.0273 0.0287 0.0235 ... -0.0060 0.0049 0.0195 -0.0196 -0.0097 0.0002 0.0235 0.0097 -0.0097 0.0079 0.0327 0.0112 -0.0260 -0.0417 0.0390 0.0235 0.0648 0.0411 -0.0005 -0.0152 0.0107 0.0039 -0.0037 -0.0132 0.0157 0.0115 0.0140 -0.0023 -0.0041 0.0054 0.0030 -0.0088 0.0166 0.0062 0.0011 -0.0044 -0.0023 -0.6147 0.6147 0.0317 -0.0317 0.0145 -0.0466 -0.0076 -0.0507 0.0990 -0.0037 0.0149 -0.0188 0.0031
Dimension 24 0.0091 0.0313 -0.0012 0.0075 -0.0075 -0.1076 -0.0065 0.0149 0.1579 0.0952 0.0439 0.1120 -0.0821 -0.0023 -0.0259 0.0299 0.0088 0.1729 -0.2386 0.1126 0.0566 0.0618 0.0765 0.0242 0.0485 -0.0996 -0.0778 -0.0081 -0.0032 -0.0181 -0.0167 0.0430 -0.0317 -0.1133 -0.0281 0.0671 0.0262 -0.0232 -0.0161 -0.0184 0.0054 0.0588 0.0376 0.0029 0.0035 -0.0029 0.0570 0.0050 -0.0298 -0.0062 ... -0.0054 -0.0107 -0.0177 -0.0069 0.0070 -0.0089 -0.0016 0.0536 -0.0536 0.0046 0.0586 0.0157 -0.0512 -0.0750 0.0826 0.0536 0.0516 0.0471 -0.0004 -0.0258 0.0249 0.0080 -0.0125 -0.0334 0.0155 0.0247 0.0299 -0.0063 -0.0025 0.0115 -0.0071 -0.0291 0.0125 0.0068 -0.0215 -0.0013 0.0014 0.2480 -0.2480 0.0622 -0.0767 0.0213 -0.0405 -0.0164 -0.0251 -0.0389 0.0179 0.0346 -0.0221 -0.0033
Dimension 25 0.0090 0.0421 0.0537 0.0038 -0.0038 0.0542 0.0064 0.0186 -0.0702 -0.0611 0.0100 0.2623 -0.1871 -0.0358 0.0896 0.0335 -0.0669 -0.0279 -0.0552 0.0764 0.2254 0.1030 0.0993 0.0937 0.0326 -0.1886 -0.0077 -0.0680 -0.1060 0.0572 0.0584 0.0524 -0.1558 -0.0892 0.1065 0.1388 0.0545 -0.0236 0.0582 -0.0852 0.0737 0.0411 0.0156 -0.0452 -0.0059 0.0587 -0.0383 -0.0830 -0.1214 -0.0932 ... -0.0190 0.0203 0.0466 -0.0314 -0.0238 0.0077 -0.0369 0.0498 -0.0498 -0.0254 -0.0253 0.0070 0.0372 0.0346 0.0238 0.0660 -0.1595 -0.0696 -0.0254 -0.0118 0.0145 0.0017 -0.0245 -0.0095 -0.0451 0.0229 0.0042 -0.0590 -0.0330 -0.0453 0.0085 -0.0307 0.0098 -0.0167 0.0055 -0.0252 0.0456 -0.1843 0.1843 0.0527 -0.0444 -0.0300 0.0458 -0.0276 -0.0102 0.0304 0.0247 -0.0496 0.0686 -0.0446
Dimension 26 0.0088 -0.0615 -0.0702 -0.0062 0.0062 0.1574 0.0811 0.0104 -0.0047 -0.0790 0.0342 0.0631 -0.0642 -0.0103 -0.0284 0.0377 -0.0338 0.1195 0.0571 -0.1043 0.0208 0.0262 0.0166 0.0570 0.0089 -0.1023 0.0047 0.0003 -0.0360 0.0040 0.0369 -0.0084 -0.0244 -0.0987 0.0247 0.0396 -0.0131 -0.0073 -0.0033 0.0040 0.0701 -0.0224 0.0334 0.0340 0.0006 -0.0073 -0.0125 -0.0008 -0.0439 -0.0205 ... 0.0340 -0.0682 -0.2038 0.1393 0.0951 -0.0819 -0.0588 -0.1188 0.1188 0.1266 -0.1542 -0.1557 -0.0826 -0.0748 -0.1708 -0.3248 0.0716 -0.0200 0.0751 -0.0046 -0.0318 0.0220 -0.0023 0.0136 0.0420 -0.0361 -0.0257 0.0980 0.0503 0.0834 0.0003 0.0376 -0.0406 0.0558 -0.0476 0.0137 -0.0593 -0.0559 0.0559 -0.1266 0.0867 0.0900 0.0558 0.0040 -0.0067 -0.0552 -0.0203 0.0729 -0.1306 0.1041
Dimension 27 0.0082 -0.0750 -0.1112 -0.0300 0.0300 -0.0059 0.0293 -0.0308 0.0429 0.0711 0.0386 -0.0540 -0.0186 -0.0465 0.0402 -0.0079 -0.0045 -0.0384 0.0575 0.0284 -0.0201 -0.0291 -0.0057 -0.0395 -0.0205 -0.0179 0.0000 -0.0098 -0.0093 -0.0030 -0.0179 -0.0444 -0.0158 0.0108 0.0188 0.0279 0.0263 0.0006 0.0104 -0.0281 -0.0155 0.0229 -0.0046 -0.0150 0.0067 0.0229 0.0026 -0.0277 -0.0349 -0.0122 ... 0.0177 -0.0597 -0.3231 0.1861 0.2055 -0.0664 0.0071 0.1374 -0.1374 -0.0654 0.0294 0.0620 0.0584 0.0489 0.1116 0.2125 -0.0699 0.0144 0.0403 0.0061 -0.0559 0.0329 -0.0007 0.0155 0.0026 0.0112 -0.0280 0.0698 0.0591 0.0915 -0.0177 0.0646 -0.0677 0.1043 0.0254 -0.1032 -0.0828 -0.0301 0.0301 -0.2328 0.1729 0.0620 -0.0099 0.0281 0.0286 -0.0331 -0.0105 0.0579 -0.0989 0.0189
Dimension 28 0.0080 0.0269 -0.0330 0.0048 -0.0048 0.0987 0.0997 -0.0209 0.0313 0.0461 0.0508 -0.0541 -0.0434 -0.1914 0.0544 -0.0076 0.0758 -0.0155 0.0254 0.1007 -0.1081 -0.0099 -0.0267 0.0365 -0.0074 -0.1185 -0.0419 0.0453 0.0022 -0.0854 -0.0735 -0.1595 -0.0565 -0.1200 0.0079 0.1386 0.0332 0.0601 0.0230 -0.0889 0.0232 -0.0133 0.0228 0.0445 0.0286 0.0022 0.0451 0.0669 0.0505 0.0421 ... 0.0351 -0.0295 0.0332 0.0128 -0.0489 0.0146 -0.0239 -0.0441 0.0441 0.0123 0.0074 -0.0096 -0.0105 -0.0324 0.0910 0.1117 0.2036 0.0454 -0.0360 -0.0117 0.0651 0.0027 0.0162 0.0749 0.0160 0.0491 0.0054 0.0058 -0.0291 -0.0261 0.0381 -0.0266 0.0150 -0.1486 0.1903 -0.0746 0.0180 0.0141 -0.0141 -0.0492 0.0628 -0.0532 0.0425 0.0095 -0.0872 0.0340 -0.0257 0.0723 0.0267 -0.0088
Dimension 29 0.0077 -0.0843 -0.0462 -0.0240 0.0240 0.0904 0.1229 0.0209 0.1590 0.0713 -0.0730 -0.0546 0.0370 0.0023 0.0800 0.0487 -0.1143 0.0616 0.0103 -0.0638 0.0590 -0.0455 -0.0316 -0.0859 -0.0271 0.0287 0.1228 -0.0204 -0.0289 0.1181 0.0942 -0.0713 -0.0165 0.0050 0.1276 0.0294 0.0331 0.0251 0.0377 -0.0381 0.1051 0.0021 0.0100 -0.0034 -0.0588 0.0330 -0.1485 -0.0615 -0.0793 -0.0636 ... 0.0017 0.0231 0.2970 -0.2651 -0.1032 -0.0065 0.0928 0.0343 -0.0343 0.0193 -0.0614 0.0013 0.0319 -0.0070 0.0910 0.1576 0.1793 0.0206 0.0077 0.0092 -0.0508 -0.0067 0.0372 -0.0388 0.0416 -0.0700 -0.0103 0.0627 0.0726 0.0440 -0.0094 0.0852 -0.0149 0.1311 -0.1217 0.0908 -0.0333 0.0232 -0.0232 0.0141 0.0239 0.1344 -0.0644 0.0672 0.0337 0.0927 -0.0752 -0.0282 -0.0235 0.0921
Dimension 30 0.0075 0.0162 -0.0077 -0.0018 0.0018 0.0924 0.2200 -0.0152 0.2738 -0.0183 0.0804 -0.0208 -0.0808 0.1037 -0.1510 -0.0043 -0.0198 0.1090 0.0801 -0.0232 0.0225 -0.0057 0.0630 -0.0985 0.0115 0.0682 -0.0466 -0.0551 -0.0893 0.0779 0.0748 0.1338 -0.0456 0.0531 -0.0486 -0.1670 -0.0660 -0.1186 -0.1079 0.0650 -0.0167 0.0813 0.0011 -0.0756 -0.1087 0.0853 0.0407 -0.1051 -0.0783 -0.0472 ... 0.0378 -0.0323 0.0056 0.0207 -0.0131 -0.0145 -0.0451 -0.0217 0.0217 -0.0540 0.0469 0.0398 0.0410 0.0202 -0.0686 -0.0467 -0.0875 0.0314 -0.0379 0.0220 0.0265 0.0079 0.0004 0.0391 -0.0260 0.0136 0.0429 -0.0299 -0.0114 -0.0324 0.0227 0.0165 0.0072 -0.1153 0.1808 -0.0862 0.0075 0.0064 -0.0064 -0.0535 0.0642 -0.0248 0.0159 0.0010 -0.0139 0.0741 -0.0106 -0.0506 0.0681 -0.0070
Dimension 31 0.0074 0.0283 0.0662 0.0216 -0.0216 0.0956 0.1635 0.0170 0.2117 0.0319 -0.0269 -0.0065 -0.0183 -0.0118 -0.0285 -0.0101 0.0468 -0.0356 0.0271 0.0194 -0.0508 -0.0080 0.0340 0.0017 0.0303 -0.0142 -0.0605 0.0265 0.0020 -0.0300 -0.0456 0.0275 -0.0127 -0.0329 -0.0557 0.0255 -0.0140 -0.0219 0.0012 0.0022 -0.0393 0.0091 0.0065 -0.0041 0.0325 -0.0072 0.0433 0.0101 0.0435 0.0224 ... 0.0377 -0.0853 -0.1922 0.1155 0.0564 -0.0421 0.0343 -0.0328 0.0328 0.0243 -0.0398 -0.0215 0.0068 -0.0090 0.0309 0.0499 0.0719 0.0403 0.0472 -0.0292 0.0013 -0.0141 -0.0095 -0.0650 0.0316 0.0079 -0.0954 0.0172 -0.0573 0.0293 -0.0029 -0.1522 0.0073 0.0612 -0.3171 0.1178 0.0976 -0.0220 0.0220 0.1771 -0.2382 0.0150 -0.0146 -0.0396 -0.0124 -0.0595 0.1602 0.0001 -0.0615 -0.1488
Dimension 32 0.0074 -0.0637 -0.0030 -0.0230 0.0230 0.0344 0.1448 -0.0016 0.1705 -0.1054 0.0799 -0.1052 0.0048 -0.0562 -0.0049 -0.0520 0.1081 -0.1050 -0.0148 0.1499 -0.1731 -0.0551 -0.0163 -0.0060 0.0493 -0.0322 -0.0884 0.0500 0.0481 -0.0681 -0.0461 -0.0151 -0.0194 -0.0417 -0.0516 0.0424 0.0001 0.0245 0.0277 -0.0629 -0.0947 0.0136 -0.0204 0.0112 0.0757 -0.0254 0.1007 0.0610 0.0823 0.0693 ... -0.0101 0.0418 0.2345 -0.1840 -0.0824 -0.0100 -0.1038 -0.0802 0.0802 -0.0125 0.0488 -0.0080 -0.0227 0.0020 -0.0751 -0.1253 -0.2244 -0.0539 -0.0169 0.0379 -0.0703 -0.0037 -0.0202 -0.0131 -0.0326 -0.0772 0.0737 0.0008 0.0725 -0.0044 -0.0449 0.1014 -0.0352 0.0886 -0.0373 0.0786 -0.0700 -0.0000 0.0000 -0.0598 0.1025 0.0392 0.0567 -0.0220 0.1044 0.0359 -0.0384 -0.1449 0.0652 0.0635
Dimension 33 0.0071 0.0661 0.0347 0.0293 -0.0293 -0.0207 0.0851 0.0035 0.2147 -0.0152 -0.0142 -0.1434 0.1559 -0.0065 0.1419 0.0187 -0.0975 -0.0071 -0.0345 -0.0530 -0.0229 -0.1247 -0.0786 -0.1110 0.0118 0.0035 0.1810 0.0147 0.0977 0.0639 0.0397 -0.1527 0.0990 0.0041 0.1455 0.0797 0.0483 0.0933 0.0476 -0.0980 0.0684 0.0097 -0.0270 0.0459 0.0078 -0.0303 -0.1674 -0.0001 -0.0151 -0.0153 ... -0.0222 0.0026 -0.2379 0.2086 0.1002 -0.0160 0.0061 0.0455 -0.0455 0.0207 -0.0141 -0.0158 -0.0260 -0.0189 -0.0113 -0.0445 -0.0971 -0.0324 0.0236 0.0041 0.0513 0.0174 -0.0216 0.0420 -0.0306 0.0659 0.0667 -0.0722 -0.0454 -0.0388 0.0287 -0.0543 0.0323 -0.1728 0.2242 -0.1429 0.0274 0.0040 -0.0040 -0.0053 -0.0200 -0.0450 -0.0358 -0.0417 -0.0699 0.0326 0.0726 -0.0430 0.0388 -0.0298
Dimension 34 0.0070 0.0452 -0.0287 0.0088 -0.0088 -0.0178 0.0202 0.0036 0.1863 -0.0463 -0.0565 0.0654 0.0311 0.0674 -0.0135 -0.0073 0.0284 -0.1569 0.0012 0.0002 0.0288 0.0535 0.0690 -0.0055 0.0266 -0.0043 -0.0262 0.0370 0.0384 -0.0430 -0.0337 0.1049 0.0281 0.0458 -0.0661 -0.0069 -0.0076 -0.0515 0.0907 0.0077 -0.0731 -0.0193 0.0091 -0.0404 0.0936 -0.0399 0.0480 -0.0144 0.0460 -0.0057 ... 0.0072 -0.0066 0.0689 -0.0396 -0.0697 0.0962 0.0190 0.0245 -0.0245 0.0326 -0.0670 -0.0210 0.0060 0.0049 -0.0048 -0.0023 0.1261 -0.0744 0.0024 -0.0297 0.0324 0.0013 0.0203 0.0174 0.0010 0.0479 -0.1036 -0.0072 -0.0567 -0.0193 0.0469 -0.0012 0.0198 -0.0010 0.0140 -0.0523 0.0460 -0.0031 0.0031 -0.0311 0.0349 -0.0657 0.0260 0.0282 -0.0993 -0.0177 -0.1664 0.3261 -0.1543 0.0770
Dimension 35 0.0068 -0.0264 -0.0727 0.0019 -0.0019 0.0162 0.0433 -0.0358 -0.0442 0.0540 0.0847 -0.1061 0.0680 -0.0302 0.0034 0.0055 -0.1090 0.0739 -0.0034 0.0718 0.0005 -0.0745 -0.0959 -0.0742 -0.0101 -0.0710 0.1596 -0.0405 0.0681 -0.0079 -0.0142 -0.1165 0.0816 -0.0438 0.0866 -0.0088 -0.0256 0.0668 -0.0238 -0.0355 0.0446 0.0194 -0.0285 0.0338 -0.1129 0.0215 -0.1536 -0.0328 -0.0491 -0.0189 ... 0.0209 -0.0100 0.1004 -0.0805 -0.0310 0.0510 -0.0073 -0.0374 0.0374 0.0304 0.0327 -0.0220 -0.0534 -0.0600 0.0295 -0.0233 -0.2002 0.1092 -0.0223 0.0487 -0.0439 -0.0095 -0.0139 -0.0342 -0.0027 -0.1197 -0.0734 0.0058 -0.0139 -0.0103 0.0064 0.0227 -0.0004 0.1015 -0.2240 0.0835 0.0925 -0.0142 0.0142 0.0226 -0.0033 -0.1675 -0.0750 -0.0651 -0.0409 -0.0800 -0.0407 0.1902 -0.1100 -0.0045
Dimension 36 0.0065 0.0373 0.0676 -0.0007 0.0007 -0.0395 -0.0177 0.0635 -0.0656 -0.1402 0.0752 0.0054 0.0285 -0.0270 0.0359 -0.0100 -0.0159 0.0372 -0.0369 -0.0072 0.0205 -0.0028 -0.0064 -0.0063 0.0023 -0.0003 0.0598 0.0154 -0.0086 -0.0155 0.0444 -0.0237 -0.0287 0.0022 0.0655 0.0091 -0.0037 0.0361 -0.0551 -0.0503 0.0156 0.0688 -0.0271 0.0018 -0.0379 -0.0335 -0.0295 0.0320 0.0412 0.0252 ... 0.0081 -0.0484 0.0139 -0.0361 -0.0628 0.0250 -0.0690 -0.0488 0.0488 -0.1185 0.1412 0.1179 0.0901 0.1158 -0.1017 -0.0255 -0.0353 -0.0783 -0.0180 -0.0041 0.0346 -0.0047 0.0037 -0.0288 -0.0455 0.0673 -0.0707 -0.0361 -0.0520 -0.0320 0.0695 -0.0402 0.0046 -0.0416 0.0411 -0.1839 0.1461 -0.0110 0.0110 -0.0681 0.0331 0.0655 0.0512 0.0245 0.1072 -0.0419 -0.1199 0.0629 -0.1110 0.1141
Dimension 37 0.0064 -0.0007 -0.0125 0.0035 -0.0035 -0.0620 -0.0180 -0.0330 0.0895 -0.1140 0.0373 -0.0023 0.0557 -0.0165 0.0498 -0.0164 0.0081 0.0414 -0.0302 -0.0801 0.0247 -0.0221 -0.0057 -0.0131 0.0032 0.0246 0.0583 -0.0104 0.0364 -0.0361 -0.0060 -0.0095 0.0032 0.0564 0.0660 -0.0265 0.0106 0.0461 -0.0677 -0.0399 0.0252 0.0511 -0.0193 -0.0051 -0.0077 -0.0180 -0.0432 0.0748 0.0325 0.0341 ... 0.0293 -0.0551 0.0830 -0.1239 -0.0549 -0.0504 -0.0511 -0.0406 0.0406 -0.0806 0.1064 0.0808 0.0557 0.0856 -0.0676 -0.0192 0.1480 -0.0953 0.0290 -0.0312 0.0008 0.0169 0.0043 0.0022 0.0277 0.0503 0.0451 0.0306 0.0284 0.0481 -0.0231 -0.0219 -0.0108 -0.0060 0.0542 0.0484 -0.1413 -0.0119 0.0119 -0.0361 0.0075 0.0184 0.0670 0.0431 0.0352 -0.0185 0.0511 -0.0743 0.0086 -0.0128
Dimension 38 0.0062 -0.0104 -0.1304 0.0203 -0.0203 0.0430 0.0738 -0.0941 -0.0504 -0.0016 -0.0064 0.0554 0.0374 0.0424 0.0143 0.0256 -0.0542 -0.0619 -0.0085 -0.0191 0.0855 0.0507 0.0274 -0.0249 -0.0114 0.0192 0.0050 -0.0058 0.0445 -0.0165 -0.0122 0.0767 -0.0014 0.0515 -0.0068 -0.0226 0.0153 -0.0111 0.0016 0.0153 0.0236 0.0119 0.0256 -0.0196 -0.0050 -0.0236 -0.0101 -0.0714 -0.0254 -0.0081 ... -0.0064 -0.0295 0.0926 -0.1075 -0.0903 -0.0769 0.0081 0.0042 -0.0042 -0.0016 0.0113 0.0017 -0.0071 0.0136 -0.0237 -0.0261 0.1029 -0.0098 0.0586 -0.0314 -0.0131 0.0383 -0.0153 0.0393 0.0548 0.0249 0.0856 0.0370 0.0312 0.0708 -0.0242 -0.0294 0.0055 -0.0484 0.1413 0.0410 -0.1906 0.0051 -0.0051 0.0358 -0.0626 -0.0394 0.0007 0.0156 -0.1210 0.0241 0.1665 0.0303 -0.0737 -0.1104
Dimension 39 0.0062 0.0446 0.1557 0.0098 -0.0098 0.1004 0.0796 0.0453 -0.0174 0.0535 0.0473 -0.0030 -0.0137 -0.0281 0.0044 0.0038 0.0104 0.0145 0.0246 -0.0172 -0.0197 -0.0173 -0.0171 0.0272 0.0100 0.0056 -0.0222 0.0433 -0.0410 -0.0206 -0.0121 -0.0681 0.0407 0.0005 -0.0239 0.0173 0.0098 -0.0150 -0.0005 -0.0006 -0.0065 0.0110 -0.0163 0.0188 -0.0284 0.0316 0.0001 -0.0106 -0.0007 -0.0118 ... 0.0183 -0.0640 0.0490 -0.0805 -0.0715 0.1141 0.0100 0.0174 -0.0174 0.0431 -0.0520 -0.0514 -0.0354 -0.0451 0.0273 -0.0046 0.0305 0.0325 -0.0162 -0.0024 0.0375 0.0248 -0.0067 0.0066 0.0117 0.0780 0.1176 0.0054 0.0427 0.0456 -0.0858 0.0064 -0.0082 -0.0673 0.1680 0.0495 -0.2226 -0.0054 0.0054 -0.0268 -0.0087 -0.2877 -0.0691 0.0307 0.0046 0.0324 0.0215 -0.0232 -0.0339 0.0089
Dimension 40 0.0061 0.0358 -0.0485 0.0077 -0.0077 0.0244 0.0117 -0.0005 -0.0770 0.1597 0.0260 -0.0010 -0.0299 0.0218 -0.0322 0.0064 0.0075 -0.0440 0.0277 0.0334 -0.0223 0.0363 -0.0032 -0.0294 0.0457 -0.0062 -0.0420 -0.0381 0.0156 0.0409 -0.0331 -0.0072 0.0362 -0.0075 -0.1129 0.0381 -0.0196 -0.0542 0.0557 0.0885 -0.0919 -0.0130 -0.0144 -0.0260 0.0150 0.0635 0.0200 -0.0403 -0.0956 -0.0094 ... -0.0327 -0.0361 0.1105 -0.1403 -0.1569 -0.0734 0.0573 0.0196 -0.0196 0.1058 -0.0608 -0.1026 -0.1109 -0.1220 0.0814 -0.0241 -0.0828 0.1365 0.0402 0.0212 0.0362 0.0257 0.0023 0.0182 -0.0222 0.0884 0.0381 -0.0178 -0.0221 0.0145 0.0306 -0.0392 0.0056 -0.0787 0.1893 -0.2201 0.0261 0.0112 -0.0112 -0.0592 0.0020 0.1447 -0.1678 -0.0129 -0.0011 0.0668 0.0102 -0.0149 -0.1091 0.0799
Dimension 41 0.0059 0.0048 -0.0884 -0.0112 0.0112 -0.0593 -0.0720 0.0056 -0.0125 -0.0872 0.0611 0.0132 -0.0048 0.0098 0.0010 -0.0339 0.0456 0.0039 -0.0322 -0.0032 0.0043 0.0198 0.0023 -0.0121 0.0272 0.0340 -0.0454 0.0229 -0.0148 0.0430 0.1008 0.0546 -0.1021 0.0619 0.0275 -0.0597 -0.0033 -0.0040 0.0125 -0.0632 -0.0135 0.0209 -0.0283 -0.0303 0.1046 -0.0572 0.0336 0.0830 0.0413 0.0358 ... -0.0181 -0.0343 -0.0553 -0.0586 0.0417 0.0687 -0.0362 -0.0032 0.0032 -0.0723 0.0565 0.0711 0.0730 0.0756 -0.0486 0.0088 -0.0188 -0.0734 0.0169 0.0018 0.0080 0.0120 -0.0124 0.0200 -0.0106 0.0457 -0.0084 0.0235 -0.0122 0.0350 -0.0301 -0.0364 -0.0280 0.0445 -0.1398 0.0979 -0.0581 0.0115 -0.0115 -0.0759 0.0182 0.0426 0.0058 -0.0252 0.0225 0.0772 0.0361 -0.0082 -0.1400 0.0229
Dimension 42 0.0059 0.0532 -0.0638 0.0308 -0.0308 -0.0296 0.0260 -0.0485 0.0190 -0.0473 -0.0362 0.0067 0.0003 0.0045 0.0099 -0.0200 0.0200 0.0281 -0.0119 -0.0361 0.0183 -0.0165 0.0327 -0.0317 0.0245 0.0285 -0.0374 -0.0247 0.0262 0.0316 -0.0083 0.0228 -0.0264 0.0445 -0.0047 -0.0247 -0.0085 0.0212 -0.0063 -0.0353 -0.0224 0.0197 -0.0116 0.0030 0.0675 0.0058 -0.0044 0.0430 -0.0204 -0.0146 ... -0.0110 -0.0072 0.0102 -0.0179 -0.0161 -0.0825 -0.0280 0.0276 -0.0276 -0.0209 0.0202 0.0090 -0.0046 0.0175 -0.0124 -0.0147 -0.0052 -0.0645 0.0896 -0.0142 0.0030 -0.0010 -0.0292 0.0127 -0.0144 0.0545 -0.0326 -0.0533 -0.0529 -0.0230 -0.0460 -0.0043 0.0159 -0.0003 -0.1811 0.1424 0.0391 -0.0005 0.0005 -0.0537 0.0445 -0.1159 0.0626 -0.0203 -0.0661 0.0467 -0.0654 0.1025 -0.0518 0.0597
Dimension 43 0.0057 0.0654 0.0409 0.0054 -0.0054 0.0222 0.1264 0.0296 0.0311 0.0431 -0.0162 -0.0036 0.0185 -0.0215 0.0055 0.0919 -0.1001 -0.0213 0.0049 0.0444 0.0253 0.0236 -0.0192 -0.0374 0.0078 -0.0763 0.0265 0.0287 0.0351 -0.1559 -0.0935 0.0243 0.0512 0.0336 -0.0130 -0.0442 0.0304 0.0472 -0.0930 0.1089 0.0401 0.0838 0.0367 0.0397 -0.2891 0.0563 0.0009 -0.1794 -0.0496 0.0084 ... -0.0287 0.0074 -0.0679 0.0223 0.0377 0.0349 -0.0027 0.0550 -0.0550 0.0026 0.0577 -0.0198 -0.0623 -0.0117 0.0342 0.0066 0.0257 -0.0058 -0.0481 -0.0242 0.0309 -0.0052 -0.0111 -0.0083 -0.0306 0.1687 0.0189 -0.0095 -0.0510 -0.0065 -0.0906 -0.0413 -0.0175 0.0550 -0.1492 0.1885 -0.1110 -0.0153 0.0153 -0.0679 0.0457 0.0670 0.0080 0.0489 0.0535 -0.0972 -0.0752 0.0054 0.0478 0.0619
Dimension 44 0.0057 -0.0996 0.0081 -0.0571 0.0571 -0.0316 -0.0112 0.0668 -0.0076 -0.0312 -0.0485 -0.0028 -0.0243 0.0015 -0.0196 0.0470 -0.0396 -0.0294 0.0173 0.0542 0.0007 0.0176 -0.0072 -0.0128 0.0022 -0.0294 -0.0360 -0.0451 0.0393 -0.0414 -0.0039 0.0805 -0.0590 0.0150 -0.0144 -0.0210 -0.0067 -0.0290 -0.0216 0.0775 0.0190 0.0111 0.0260 0.0014 -0.1303 0.0337 0.0166 -0.1026 -0.0230 -0.0019 ... -0.0084 0.0446 0.0230 -0.0527 0.1036 0.0609 0.0023 -0.0087 0.0087 -0.0075 0.0338 0.0117 -0.0095 0.0109 -0.0053 -0.0020 0.0884 -0.0474 -0.0048 -0.0069 -0.0623 -0.0405 0.0023 -0.0217 -0.0076 -0.0441 -0.0276 0.0321 0.0773 0.0080 0.0590 0.0491 -0.0528 0.1043 0.1219 -0.3356 0.1636 -0.0145 0.0145 -0.0108 0.0392 -0.2168 0.0264 0.0263 0.0913 -0.0904 0.0225 0.0203 -0.0957 -0.0235
Dimension 45 0.0056 0.0029 -0.0239 0.0168 -0.0168 -0.0457 -0.0786 0.0125 -0.0130 -0.0509 0.0091 -0.0109 -0.0226 -0.0290 -0.0110 0.1044 -0.1191 -0.0605 0.0444 0.1068 -0.0905 -0.0217 -0.0111 0.0927 -0.0098 -0.0177 -0.0041 0.0842 -0.0824 0.0439 0.0266 -0.0586 -0.0149 -0.1379 0.0313 0.1064 -0.0163 -0.0384 0.0193 -0.0000 0.0902 0.0277 0.0453 0.0985 -0.3629 -0.0304 0.0593 -0.2005 0.0277 0.0773 ... -0.0157 0.0036 0.0359 -0.0344 -0.0581 -0.0287 -0.0074 -0.0212 0.0212 -0.0134 -0.0106 0.0189 0.0347 0.0259 -0.0171 0.0064 0.0086 -0.0347 0.0608 0.0077 0.0243 0.0230 0.0067 0.0160 0.0421 -0.0206 0.0356 0.0139 0.0316 0.0360 -0.0193 0.0138 0.0220 -0.0892 0.0435 0.0898 -0.0835 0.0058 -0.0058 0.0124 -0.0282 0.1320 0.0151 -0.0791 -0.0166 0.0150 0.0448 0.0562 -0.0426 -0.1046
Dimension 46 0.0055 0.0135 0.0463 0.0113 -0.0113 0.0549 0.0932 0.0637 -0.0263 0.0488 -0.0203 0.0073 0.0158 0.0026 -0.0009 -0.0336 0.0401 0.0150 -0.0107 -0.0364 0.0579 0.0360 0.0138 -0.0538 -0.0272 0.0074 -0.0105 0.0069 0.0207 -0.0694 0.0143 -0.0237 0.0517 0.0776 0.0054 -0.0582 0.0001 -0.0302 -0.0048 -0.0171 -0.0662 0.0312 -0.0340 -0.0093 0.1185 0.0132 -0.0001 0.0370 -0.0117 -0.0272 ... -0.0025 -0.0006 0.0215 -0.0269 0.0059 -0.0241 0.0013 0.0386 -0.0386 0.0238 0.0024 -0.0338 -0.0513 -0.0366 0.0358 0.0038 0.0108 0.0190 -0.0222 0.0031 -0.0094 -0.0013 -0.0176 0.0139 0.0131 0.0466 0.0796 -0.0140 0.0349 0.0186 -0.0465 0.0096 0.0089 -0.0470 0.1537 -0.0341 -0.0884 -0.0055 0.0055 0.0064 -0.0028 0.1577 0.0051 -0.0821 -0.0984 -0.0599 0.0470 0.1078 0.0313 -0.1154
Dimension 47 0.0055 0.0381 0.0163 0.0159 -0.0159 -0.0094 -0.0466 -0.0022 -0.0663 -0.0076 -0.0394 -0.0009 -0.0204 -0.0210 -0.0042 0.0206 -0.0143 -0.0214 0.0188 0.0361 -0.0526 0.0799 -0.0473 0.0125 0.0270 0.0488 -0.0388 -0.0479 0.0013 0.0943 0.0881 -0.0708 -0.0388 -0.0377 -0.0905 0.0603 0.0221 -0.0119 0.0979 0.0019 -0.0389 0.0077 -0.0443 0.0001 -0.0466 0.0119 0.0207 -0.0897 0.0047 0.0089 ... 0.0137 -0.0148 -0.1182 0.0595 0.1508 0.0078 -0.0057 -0.0031 0.0031 0.0325 -0.0234 -0.0403 -0.0465 -0.0491 0.0171 -0.0298 0.0270 -0.0353 -0.0232 0.0057 0.0212 -0.0132 -0.0152 -0.0195 -0.0211 0.0562 0.0087 -0.0545 -0.0203 -0.0377 -0.0179 -0.0111 0.0126 -0.0418 -0.0726 0.0205 0.0999 0.0152 -0.0152 -0.0287 0.0313 0.0002 -0.0141 0.1037 -0.0435 0.1159 -0.0328 -0.0933 0.1024 0.0694
Dimension 48 0.0052 0.0150 0.0075 0.0116 -0.0116 0.0563 0.1480 0.0656 -0.0452 0.0204 0.0379 0.0257 0.0293 0.0337 0.0108 -0.0336 -0.0178 -0.0177 0.0006 -0.0243 0.0970 0.0317 0.0486 -0.0613 -0.0524 0.0630 0.0028 0.0112 -0.0051 -0.0008 0.0262 0.0293 0.0099 -0.0106 0.0287 0.0244 0.0065 -0.0458 -0.0949 0.0201 0.0234 0.0106 -0.0067 -0.0473 0.1075 -0.0620 -0.0415 0.1269 -0.0884 0.0871 ... 0.0001 0.0224 -0.0178 0.0002 0.0832 0.0119 0.0126 0.0053 -0.0053 -0.0220 0.0440 0.0295 0.0111 0.0136 -0.0146 0.0022 0.0562 0.0323 -0.0222 0.0086 0.0423 0.0069 0.0147 -0.0331 0.0253 -0.0332 0.0259 -0.0031 -0.0064 -0.0066 -0.0282 0.0051 0.0285 -0.0730 -0.0114 0.1835 -0.0944 -0.0121 0.0121 0.0270 -0.0074 -0.0308 -0.0393 -0.0314 0.0935 -0.1135 -0.0185 -0.0879 0.1007 0.0146
Dimension 49 0.0052 0.0314 -0.0178 -0.0195 0.0195 -0.0389 -0.1881 0.0176 0.0182 -0.0819 -0.0944 -0.0246 -0.0198 -0.0179 -0.0106 -0.0217 0.0141 0.0263 0.0325 0.0017 -0.0205 -0.1123 -0.0316 0.0844 -0.0351 -0.1433 0.0170 -0.0745 0.1020 -0.0420 0.0269 0.0361 -0.0562 -0.0142 0.0154 0.0057 -0.0194 -0.0207 -0.0206 0.0306 -0.0040 -0.0491 -0.0845 0.0857 -0.0138 0.0156 -0.0533 0.1402 -0.0045 -0.0290 ... 0.0366 -0.0516 0.0273 -0.0092 -0.0676 -0.0295 0.0274 -0.0131 0.0131 0.0254 -0.0920 -0.0239 0.0314 0.0076 -0.0097 0.0118 -0.0481 -0.1068 0.0848 -0.0093 0.0214 -0.0067 0.0205 0.0060 -0.0154 0.0186 0.0575 -0.0034 0.0080 0.0256 -0.0845 -0.0155 -0.0450 0.0296 0.1605 0.0566 -0.2804 -0.0151 0.0151 0.0091 -0.0207 -0.0104 -0.0037 -0.0319 0.1252 -0.1747 0.0445 0.0061 -0.0419 -0.0841
Dimension 50 0.0052 -0.0114 -0.0377 0.0079 -0.0079 0.0334 0.0501 0.0050 -0.0354 -0.0092 0.0911 0.0183 0.0019 0.0077 0.0034 0.0518 0.0030 -0.0197 -0.0338 -0.0074 0.0224 0.0481 0.0334 -0.0593 0.0328 -0.0070 -0.0261 0.0424 -0.0071 0.0144 0.0803 0.0060 -0.0351 0.0100 -0.0174 0.0257 0.0174 -0.0841 0.1701 0.0103 -0.0422 0.0063 -0.0398 -0.0147 -0.0651 -0.0349 0.0950 -0.2136 0.1603 -0.0121 ... 0.0296 -0.0059 -0.0249 0.0680 -0.0051 0.0273 -0.0239 -0.0082 0.0082 -0.0010 0.0223 0.0043 -0.0081 -0.0155 -0.0094 -0.0234 0.0278 -0.0020 -0.0390 0.0157 -0.0230 0.0011 -0.0032 0.0114 0.0048 -0.0327 0.0252 -0.0099 -0.0153 -0.0011 -0.0257 -0.0044 0.0084 0.0288 -0.0480 0.1402 -0.1007 0.0014 -0.0014 0.0461 -0.0281 -0.1506 -0.0593 0.0086 -0.0515 0.0125 -0.0139 -0.0325 0.0506 0.0757
Dimension 51 0.0051 -0.0622 -0.0517 -0.0263 0.0263 -0.0375 -0.0274 -0.0220 0.0547 0.0413 0.0449 0.0005 -0.0020 -0.0058 -0.0002 0.0317 -0.0008 -0.0088 -0.0102 0.0022 -0.0409 0.0339 0.0083 0.0689 -0.0831 0.1025 -0.0428 -0.0144 -0.0263 0.1495 0.0165 -0.1079 0.0278 -0.0359 -0.0879 0.0939 -0.0911 0.0427 -0.0028 -0.0227 0.0074 0.0935 -0.0493 0.0072 -0.2032 0.0022 0.0647 0.0423 -0.0095 0.0827 ... -0.0151 0.0195 0.0043 -0.0645 0.1047 -0.0393 -0.0187 -0.0302 0.0302 -0.0206 0.0415 0.0133 0.0006 0.0219 -0.0003 -0.0017 0.0410 0.0749 0.0586 -0.0013 -0.0537 -0.0037 0.0057 -0.0040 -0.0106 -0.0685 -0.0196 0.0235 0.0272 0.0113 0.0168 0.0092 -0.0246 0.0677 0.0199 -0.1166 0.0512 0.0066 -0.0066 0.0520 -0.0438 -0.0846 0.0150 -0.0237 -0.0462 0.1223 0.0535 -0.0137 -0.1008 0.0179
Dimension 52 0.0051 0.0137 -0.0662 -0.0123 0.0123 -0.0006 -0.0193 -0.0452 -0.0091 0.0512 -0.0785 -0.0080 -0.0038 -0.0073 -0.0111 -0.0271 -0.0145 0.0061 0.0209 0.0331 -0.0060 -0.0242 0.0107 -0.0317 0.0484 -0.0106 -0.0383 -0.0097 0.0334 0.0532 -0.0141 -0.0369 0.0091 -0.0579 -0.0346 0.0834 -0.0547 -0.0327 -0.0356 -0.0212 0.0151 -0.0122 -0.0165 0.0106 0.0241 0.0177 -0.0523 0.1165 -0.1009 -0.0057 ... 0.0033 -0.0121 -0.0231 -0.0306 0.0279 0.0525 0.0389 -0.0195 0.0195 0.0131 -0.0067 -0.0212 -0.0267 -0.0209 0.0254 0.0174 -0.0366 0.0665 -0.0321 -0.0302 0.0008 0.0007 -0.0056 0.0279 -0.0213 0.0006 -0.0137 0.0009 -0.0205 0.0034 -0.0121 -0.0385 -0.0311 0.1231 0.0547 -0.1206 -0.0710 0.0057 -0.0057 0.0040 -0.0275 0.0073 0.0486 0.0094 -0.0285 0.0554 0.0090 -0.0013 0.0235 -0.0378
Dimension 53 0.0051 0.0090 0.0439 0.0030 -0.0030 0.0024 0.0712 0.0098 0.0184 0.0931 0.0972 0.0147 0.0227 0.0100 0.0043 0.0085 0.0119 0.0002 -0.0294 -0.0285 0.0715 -0.0708 0.0496 0.0078 -0.0596 0.1614 -0.0034 0.0977 -0.1350 -0.0312 -0.0270 -0.0391 0.0793 -0.0532 -0.0025 0.0642 -0.0402 0.0149 -0.0293 0.0013 -0.0424 0.1159 0.0221 -0.1006 0.0114 -0.0071 -0.0320 -0.0584 0.1297 -0.0508 ... -0.0202 0.0075 -0.0029 0.0497 -0.0541 -0.0472 -0.0174 -0.0095 0.0095 -0.0467 0.0605 0.0333 0.0149 0.0326 0.0066 0.0283 -0.0156 0.1741 0.0162 -0.0256 0.0090 0.0136 -0.0189 -0.0117 0.0029 -0.0397 -0.0354 -0.0101 -0.0237 0.0019 -0.0204 -0.0085 0.0065 0.0287 0.0039 0.0252 -0.0535 0.0042 -0.0042 0.0314 -0.0282 0.0509 0.0471 0.0087 -0.0586 0.0948 0.0411 0.1030 -0.1124 -0.0948
Dimension 54 0.0050 0.0365 0.0249 0.0068 -0.0068 0.0262 -0.0450 0.0199 0.0027 0.0309 0.0151 0.0135 0.0187 0.0168 0.0136 0.0527 0.0055 -0.0149 -0.0238 -0.0557 0.0054 0.1217 0.0580 -0.0934 0.0088 0.0159 0.0113 -0.0188 0.0244 -0.0392 -0.0203 0.0044 0.0464 0.0392 0.0595 -0.0237 -0.0544 0.0218 0.1027 0.0922 -0.0304 -0.0510 -0.0097 0.0283 -0.1701 -0.0039 0.0778 -0.1036 -0.0002 0.2090 ... 0.0054 0.0058 -0.0389 0.0636 -0.0057 -0.0020 0.0232 -0.0075 0.0075 0.0422 -0.0509 -0.0300 -0.0146 -0.0319 0.0194 0.0042 0.0001 0.0376 -0.0398 -0.0119 0.0216 -0.0009 -0.0029 -0.0268 -0.0254 0.0522 0.0138 -0.0270 -0.0373 -0.0326 0.0020 -0.0287 0.0105 0.0132 -0.0554 0.0341 0.0191 0.0067 -0.0067 -0.0277 0.0321 -0.0207 -0.0431 -0.0179 -0.0463 0.0342 -0.0025 -0.1501 0.1599 0.1008
Dimension 55 0.0050 0.0232 -0.0001 0.0018 -0.0018 -0.0249 -0.0169 0.0523 0.0192 -0.0066 0.0066 0.0060 -0.0079 -0.0088 -0.0077 -0.0719 -0.0187 0.0032 0.0307 0.0515 0.0053 0.1008 0.0124 -0.0375 -0.0359 -0.0418 -0.0048 0.0128 0.0075 0.2051 0.0201 -0.0255 -0.0852 -0.0663 0.0998 0.0465 -0.1301 0.0313 -0.0069 0.0018 -0.0096 -0.0839 -0.0467 -0.0238 0.1519 -0.1077 -0.0255 0.2457 -0.1209 0.0799 ... 0.0251 -0.0373 -0.0053 0.0229 -0.0340 0.0040 -0.0162 -0.0051 0.0051 -0.0124 0.0037 0.0002 -0.0026 0.0046 0.0029 0.0011 -0.0199 -0.0113 -0.0069 -0.0346 0.0229 0.0020 -0.0234 -0.0308 -0.0177 0.0086 -0.0055 -0.0217 -0.0221 -0.0055 -0.0268 -0.0286 0.0004 0.0169 0.0157 0.0277 -0.0692 -0.0037 0.0037 0.0060 -0.0116 -0.0697 0.0484 0.0118 -0.0081 0.0034 0.0043 0.0233 -0.0261 -0.0074
Dimension 56 0.0049 0.0360 0.0167 0.0138 -0.0138 -0.0013 -0.0279 0.0610 0.0122 0.0621 -0.0527 -0.0113 0.0031 -0.0091 0.0011 -0.0087 -0.0035 0.0129 0.0085 -0.0025 -0.0388 -0.0650 -0.0654 0.0305 0.0980 0.0301 -0.0277 0.0312 -0.0184 0.0189 0.0410 -0.1308 0.0922 -0.0442 0.0153 0.0574 0.0198 -0.0994 -0.0742 0.0136 -0.0210 0.0237 -0.0173 0.0669 0.0447 0.0222 -0.0126 0.0161 -0.0936 0.0317 ... -0.0244 0.0145 0.0218 0.1388 -0.2434 0.0201 0.0151 -0.0205 0.0205 0.0011 0.0012 -0.0196 -0.0151 0.0085 0.0195 0.0135 -0.0259 0.0791 0.0156 -0.0328 0.0091 0.0000 -0.0189 0.0028 -0.0048 0.0156 0.0036 -0.0206 -0.0364 -0.0109 -0.0588 -0.0082 0.0121 -0.0193 0.0244 0.0394 -0.0570 0.0014 -0.0014 0.0117 -0.0158 -0.0812 0.0749 0.0039 -0.0248 0.0734 -0.0372 0.0474 -0.0808 0.0589
Dimension 57 0.0049 0.0120 -0.0945 0.0124 -0.0124 0.0239 0.0352 -0.0310 -0.0058 -0.0528 -0.0707 -0.0196 -0.0278 -0.0201 -0.0062 -0.0129 0.0045 0.0088 0.0215 0.0336 -0.0437 -0.0760 0.0298 -0.0056 0.0615 0.0716 -0.0750 -0.2098 0.1205 0.0420 -0.0540 0.0801 -0.1056 0.0436 -0.0535 -0.0443 0.0220 0.0379 0.0815 0.0800 -0.0820 -0.0785 -0.0484 0.0199 -0.0315 0.1207 -0.1697 0.0866 -0.0179 -0.1062 ... -0.0368 0.0460 -0.0296 -0.0217 0.1133 0.0683 0.0043 0.0462 -0.0462 -0.0012 -0.0016 -0.0022 -0.0087 -0.0115 -0.0164 -0.0219 -0.0048 -0.1008 -0.0426 0.0083 0.0131 0.0012 0.0085 -0.0060 0.0080 0.0374 0.0166 -0.0052 -0.0078 -0.0034 -0.0052 0.0104 0.0250 -0.0651 -0.0181 0.1092 -0.0237 -0.0068 0.0068 0.0068 0.0051 -0.0351 -0.0223 0.0328 0.1006 -0.0414 -0.0440 0.0797 -0.0521 -0.0926
Dimension 58 0.0049 -0.0143 -0.0155 -0.0166 0.0166 0.0071 -0.0228 -0.0336 0.0216 0.1202 0.0767 0.0006 0.0137 0.0095 0.0058 -0.0424 -0.0211 0.0000 0.0084 0.0167 0.0582 0.0481 -0.0510 -0.0584 0.0106 -0.0761 0.1086 0.2373 -0.1813 -0.1011 -0.1262 0.0121 0.0998 0.0079 0.0140 -0.0428 0.0302 0.0720 0.0172 -0.1130 0.1052 -0.0211 -0.0660 -0.0540 0.0654 -0.0397 -0.0297 0.2109 -0.0593 -0.1094 ... -0.0119 0.0274 0.0022 -0.0213 0.0410 -0.0054 -0.0094 -0.0396 0.0396 -0.0050 -0.0124 0.0054 0.0191 0.0067 0.0247 0.0441 0.0016 0.1840 -0.0135 0.0300 -0.0019 -0.0212 0.0164 -0.0036 -0.0170 -0.0054 -0.0115 -0.0028 0.0211 -0.0119 0.0069 0.0241 -0.0221 0.0385 -0.0308 -0.0708 0.0840 -0.0030 0.0030 -0.0174 0.0244 0.0405 0.0028 0.0029 0.0242 -0.0583 -0.0450 -0.0595 0.0914 0.0764
Dimension 59 0.0049 0.0344 0.0682 0.0135 -0.0135 0.0460 0.0902 -0.0094 -0.0627 0.0175 0.0086 0.0023 -0.0095 -0.0093 -0.0017 -0.0313 -0.0093 0.0083 0.0180 0.0197 -0.1219 -0.0210 -0.0612 0.0952 0.1120 -0.0333 0.0544 -0.0623 0.0165 0.1442 0.0917 0.0438 -0.1596 0.0715 -0.1350 0.0310 -0.0339 -0.0532 -0.0566 -0.1153 0.1480 0.1201 -0.1680 -0.1314 0.0925 -0.0640 0.0324 0.0922 -0.0132 -0.0709 ... 0.0136 -0.0259 -0.0209 0.0293 -0.0280 -0.0492 0.0329 0.0073 -0.0073 0.0407 -0.0388 -0.0433 -0.0459 -0.0451 0.0293 -0.0039 0.0148 0.0045 0.0084 -0.0070 0.0169 0.0152 -0.0138 -0.0159 -0.0055 0.0582 0.0324 -0.0188 -0.0184 -0.0081 -0.0419 -0.0234 0.0097 -0.0136 -0.0697 0.1167 -0.0476 0.0094 -0.0094 -0.0266 0.0159 0.0144 -0.0506 -0.0185 -0.0448 0.0599 0.0117 -0.0235 0.0178 0.0153
Dimension 60 0.0048 0.0130 -0.0016 -0.0012 0.0012 -0.0026 0.0052 -0.0016 -0.0016 0.0355 0.0468 0.0082 0.0115 0.0076 0.0049 0.0012 -0.0060 -0.0062 -0.0160 0.0009 -0.0728 0.0419 0.1017 -0.0714 0.1060 0.0234 0.1596 0.1768 -0.2341 -0.1139 -0.0602 0.1929 -0.1073 -0.1645 -0.1108 0.2839 -0.1066 -0.1252 0.0288 0.0128 0.0004 0.0216 -0.0799 -0.0277 -0.0569 0.0559 -0.2209 0.0650 0.0448 0.0818 ... 0.0273 -0.0249 -0.0003 0.0604 -0.0671 0.0057 -0.0419 -0.0028 0.0028 -0.0386 0.0495 0.0278 0.0136 0.0210 -0.0033 0.0153 0.0017 0.0596 -0.0250 -0.0193 0.0138 -0.0186 -0.0083 0.0049 -0.0074 0.0097 -0.0139 -0.0092 -0.0116 -0.0083 -0.0152 -0.0049 0.0062 -0.0233 0.0210 0.0467 -0.0443 -0.0087 0.0087 0.0025 0.0042 0.0002 0.0531 0.0289 0.0719 -0.0887 -0.0282 0.0267 -0.0530 0.0291
Dimension 61 0.0048 0.0353 -0.0245 0.0242 -0.0242 -0.0200 -0.0650 -0.0169 0.0235 0.0336 -0.0319 -0.0058 -0.0046 -0.0080 -0.0031 0.0009 0.0175 0.0069 0.0018 -0.0077 0.0373 -0.2104 0.0569 0.0144 0.0447 0.1489 0.0059 -0.0677 -0.0512 -0.0351 0.0225 -0.0654 0.0594 -0.0643 -0.1437 0.1043 0.0365 -0.0208 -0.0065 0.0334 0.0151 -0.1128 0.0574 0.0963 -0.0697 0.0337 0.0691 0.0392 -0.0798 0.0276 ... -0.0190 -0.0008 -0.0134 -0.1961 0.2491 0.0378 -0.0048 0.0103 -0.0103 0.0242 -0.0278 -0.0288 -0.0229 -0.0171 0.0216 -0.0056 -0.0071 0.0110 0.0289 -0.0125 0.0444 0.0019 -0.0102 -0.0258 -0.0032 0.0899 0.0148 -0.0258 -0.0143 -0.0108 -0.0040 -0.0130 0.0277 -0.1099 -0.0433 0.0464 0.0729 -0.0124 0.0124 -0.0296 0.0092 -0.0253 0.0326 -0.0275 0.0774 -0.0732 -0.0527 0.0215 -0.0326 0.0394
Dimension 62 0.0048 0.0149 0.0019 0.0216 -0.0216 0.0035 0.0400 -0.0421 -0.0057 -0.0028 -0.0124 -0.0069 0.0005 -0.0047 0.0052 0.0012 0.0039 0.0011 -0.0003 -0.0034 -0.1924 -0.1643 0.0880 0.1794 0.0520 -0.1655 0.1307 0.2050 -0.1370 0.0588 -0.1632 -0.0238 0.0612 0.0983 0.2545 -0.2400 0.0806 0.0484 -0.0309 0.0978 -0.2110 0.1173 0.0381 -0.0377 -0.0023 0.0383 -0.0135 -0.0152 -0.0159 -0.0355 ... 0.0083 -0.0041 -0.0081 -0.0257 0.0533 0.0111 -0.0042 -0.0061 0.0061 0.0144 -0.0104 -0.0100 -0.0094 -0.0061 0.0095 0.0008 0.0116 -0.0078 -0.0123 -0.0030 0.0259 -0.0101 -0.0197 0.0026 0.0017 0.0413 0.0102 -0.0155 -0.0009 -0.0191 0.0136 -0.0211 0.0165 -0.0719 -0.0413 0.0566 0.0505 -0.0056 0.0056 0.0081 -0.0077 -0.0027 0.0042 0.0121 0.0470 -0.0321 -0.0072 -0.0211 -0.0095 0.0162
Dimension 63 0.0048 0.0174 -0.0455 0.0134 -0.0134 -0.0093 -0.0624 -0.0409 -0.0210 -0.0347 -0.0260 -0.0040 -0.0058 -0.0047 0.0032 0.0180 0.0069 -0.0054 -0.0037 -0.0017 0.0771 -0.1871 -0.0765 0.0204 0.0840 0.0168 0.0703 0.0267 -0.0851 -0.0850 0.0295 0.0641 -0.0471 0.0817 -0.1121 -0.0292 0.0439 -0.0118 0.0993 -0.1951 -0.0577 0.0563 -0.0230 0.2097 -0.1521 0.0159 0.0861 0.0314 -0.1176 0.1784 ... 0.0170 -0.0069 0.0145 0.1598 -0.2250 0.0577 -0.0009 0.0069 -0.0069 0.0162 -0.0188 -0.0108 -0.0086 -0.0180 -0.0028 -0.0176 -0.0061 -0.0500 -0.0680 0.0135 0.0097 -0.0009 -0.0092 0.0079 -0.0107 0.0313 -0.0087 -0.0215 -0.0257 -0.0289 0.0233 -0.0007 0.0132 -0.0864 0.0241 0.0056 0.0574 -0.0040 0.0040 0.0091 0.0014 -0.0193 -0.0297 0.0175 0.0510 -0.0265 -0.0533 0.0037 0.0299 0.0048
Dimension 64 0.0047 0.0139 0.0072 0.0174 -0.0174 -0.0098 -0.0628 0.0208 -0.0221 0.0054 0.0384 -0.0013 -0.0023 0.0076 -0.0036 0.0067 0.0092 -0.0064 0.0005 -0.0090 0.2202 -0.0745 0.0654 -0.2117 0.0085 0.0007 -0.0392 0.1179 -0.0653 0.0759 -0.1743 -0.0759 0.1291 0.2736 -0.2093 -0.0847 -0.0685 -0.0757 0.0591 -0.1128 0.0915 0.0305 -0.0514 -0.0408 0.0237 -0.0008 0.1266 -0.0602 -0.0702 -0.0094 ... 0.0236 -0.0239 -0.0054 -0.0167 0.0468 -0.0448 0.0022 0.0303 -0.0303 0.0038 -0.0135 -0.0075 0.0002 0.0002 0.0018 0.0044 -0.0042 0.0020 0.0420 0.0043 0.0148 -0.0030 -0.0076 -0.0023 0.0127 -0.0003 0.0250 -0.0206 0.0020 -0.0064 -0.0141 -0.0022 0.0225 -0.1073 0.0147 0.1119 -0.0347 -0.0114 0.0114 0.0023 0.0018 0.0000 -0.0101 -0.0167 0.0746 -0.0997 -0.0038 0.0073 -0.0726 0.0425
Dimension 65 0.0047 0.0173 -0.0069 -0.0035 0.0035 0.0103 -0.0362 -0.0109 -0.0333 0.0470 0.0015 0.0047 0.0119 0.0110 0.0014 0.0139 0.0077 -0.0081 -0.0149 -0.0198 -0.0287 0.1292 -0.0976 -0.0888 0.1648 0.1267 0.2995 -0.1745 -0.1285 0.0495 0.0278 0.0053 -0.0222 -0.0544 -0.1805 0.1045 -0.0499 0.1301 -0.0190 -0.0335 -0.0180 0.0207 0.2027 -0.0696 0.0797 -0.0898 -0.0325 -0.1627 0.2125 0.0833 ... 0.0113 -0.0060 0.0092 -0.1311 0.1830 0.0479 -0.0019 -0.0273 0.0273 -0.0460 0.0221 0.0319 0.0370 0.0265 -0.0036 0.0358 -0.0333 0.0857 -0.0301 -0.0120 0.0233 -0.0092 0.0007 -0.0088 -0.0082 -0.0297 0.0101 -0.0211 -0.0034 -0.0146 -0.0268 -0.0009 -0.0048 -0.0397 0.0888 0.0322 -0.0905 -0.0206 0.0206 -0.0071 0.0131 -0.0226 0.0685 -0.0021 0.1663 -0.1987 -0.0107 0.0180 0.0012 -0.0916
Dimension 66 0.0047 0.0107 0.0252 -0.0026 0.0026 0.0052 -0.0325 0.0103 0.0042 0.0518 -0.0291 0.0008 0.0067 -0.0042 0.0045 -0.0020 -0.0034 -0.0045 0.0065 -0.0058 -0.1282 0.1840 0.0151 -0.0583 0.0994 0.0985 0.1061 -0.0910 -0.0529 0.0705 -0.1909 0.2273 -0.1836 -0.0675 0.0645 -0.1552 0.3011 0.1650 -0.1199 -0.0705 0.0792 -0.0371 -0.0177 0.2538 0.0019 -0.0214 0.1443 0.0205 -0.0803 -0.0701 ... -0.0205 0.0043 0.0005 -0.0668 0.0390 -0.0445 0.0113 -0.0094 0.0094 0.0155 -0.0155 -0.0257 -0.0269 -0.0288 0.0125 -0.0074 0.0029 0.0480 0.0415 -0.0259 -0.0040 0.0152 0.0021 0.0008 -0.0071 0.0504 0.0099 0.0021 -0.0174 0.0136 -0.0162 -0.0207 0.0002 0.0172 -0.0252 -0.0058 -0.0069 0.0098 -0.0098 -0.0261 0.0047 -0.0026 0.0040 -0.0241 -0.0832 0.0658 0.0242 -0.0532 0.0314 0.0696
Dimension 67 0.0047 0.0100 -0.0250 -0.0030 0.0030 0.0115 0.0273 0.0060 -0.0071 -0.0355 0.0362 -0.0045 -0.0084 -0.0065 -0.0028 0.0022 0.0001 0.0011 0.0021 0.0141 0.0546 0.1333 -0.0538 -0.1019 -0.0044 -0.2495 0.1095 0.0081 0.0611 0.2053 0.0569 -0.0767 -0.0461 0.2045 -0.1504 -0.0895 -0.0698 0.0342 -0.1517 -0.1085 0.1105 -0.0594 0.4017 -0.0142 -0.2352 -0.1529 0.1844 0.2289 0.0941 0.0336 ... 0.0022 -0.0055 -0.0174 0.0837 -0.0841 0.0230 -0.0117 -0.0114 0.0114 -0.0133 0.0352 0.0105 0.0029 0.0033 -0.0040 -0.0060 -0.0037 -0.0227 -0.0050 0.0101 0.0054 -0.0054 -0.0070 0.0049 -0.0052 -0.0069 -0.0179 0.0030 -0.0083 -0.0066 -0.0093 -0.0097 -0.0114 0.0494 0.0032 -0.0210 -0.0253 0.0046 -0.0046 0.0210 -0.0207 0.0106 -0.0168 0.0226 0.0011 0.0434 -0.0156 0.0351 -0.0196 -0.0362
Dimension 68 0.0047 -0.0008 -0.0163 -0.0098 0.0098 0.0069 0.0026 0.0048 -0.0071 -0.0076 -0.0321 -0.0047 -0.0060 -0.0048 0.0001 0.0025 0.0054 -0.0021 0.0034 0.0033 0.0613 -0.0168 -0.0915 -0.1206 0.1833 -0.0328 -0.0283 0.0643 -0.0178 0.1396 -0.0527 -0.1110 0.0663 -0.1417 0.2116 -0.0722 0.3491 -0.1626 0.0231 0.1828 0.1470 -0.1503 -0.0955 -0.1591 -0.1004 -0.1853 0.0497 0.0809 0.2423 0.1290 ... -0.0084 0.0024 0.0085 -0.0485 0.0255 0.0101 0.0058 -0.0031 0.0031 -0.0013 0.0006 -0.0015 -0.0002 -0.0056 0.0036 0.0065 0.0011 -0.0110 0.0232 0.0013 -0.0003 0.0010 0.0118 -0.0009 -0.0059 0.0138 0.0080 0.0125 0.0033 0.0052 -0.0040 -0.0009 -0.0129 0.0148 0.0172 -0.0370 -0.0050 -0.0017 0.0017 -0.0219 0.0119 0.0055 0.0195 0.0028 0.0323 -0.0316 -0.0033 -0.0100 -0.0025 0.0034
Dimension 69 0.0047 -0.0088 -0.0111 -0.0013 0.0013 -0.0022 0.0301 -0.0076 0.0025 -0.0217 0.0119 0.0001 -0.0046 -0.0019 0.0007 -0.0050 0.0025 -0.0010 -0.0012 0.0081 -0.1680 0.1457 0.1627 0.0780 -0.1555 0.0102 -0.0591 0.0923 -0.0424 0.0293 -0.0107 -0.0625 0.0518 -0.0641 -0.0494 -0.1043 0.2241 0.2379 0.0973 0.0280 0.1867 0.0506 -0.2378 -0.3639 0.0200 0.0386 0.1281 -0.0147 -0.2782 0.1538 ... 0.0010 0.0188 0.0157 0.0293 -0.0026 0.0399 -0.0077 -0.0065 0.0065 -0.0031 0.0004 0.0092 0.0115 0.0107 -0.0117 -0.0080 -0.0104 -0.0132 -0.0291 0.0185 -0.0127 -0.0127 0.0081 -0.0061 -0.0022 -0.0483 -0.0025 -0.0139 0.0078 -0.0194 0.0128 0.0319 0.0066 -0.0072 0.0337 -0.0212 0.0246 -0.0102 0.0102 0.0174 0.0099 -0.0142 0.0066 0.0063 0.0875 -0.1163 -0.0228 0.0536 -0.0185 -0.0594
Dimension 70 0.0047 0.0126 0.0144 0.0137 -0.0137 -0.0104 -0.0394 0.0175 -0.0204 0.0062 0.0401 -0.0017 -0.0011 -0.0022 -0.0013 0.0014 0.0031 0.0003 -0.0035 0.0052 0.0824 -0.2687 -0.0822 0.0110 0.1749 0.1807 0.0432 -0.2683 0.0587 -0.2262 -0.1193 0.1032 0.0424 -0.1051 0.1790 0.0475 -0.0909 -0.0029 0.1703 -0.0743 0.2062 -0.1131 -0.1044 -0.1444 0.0306 -0.1024 0.2717 -0.0367 -0.0977 0.0603 ... 0.0106 -0.0170 -0.0069 -0.0023 0.0141 -0.0123 -0.0185 0.0153 -0.0153 -0.0039 -0.0025 0.0004 0.0020 -0.0142 -0.0019 -0.0074 -0.0069 0.0099 -0.0334 -0.0096 0.0072 0.0028 -0.0192 0.0093 0.0025 0.0299 -0.0038 -0.0092 -0.0200 -0.0068 -0.0008 -0.0228 0.0172 -0.0250 -0.0163 0.0621 -0.0271 0.0054 -0.0054 0.0214 -0.0224 0.0150 -0.0234 0.0283 -0.0441 0.0396 0.0177 -0.0067 -0.0016 0.0122
Dimension 71 0.0047 -0.0185 -0.0039 -0.0139 0.0139 -0.0073 0.0709 0.0483 -0.0021 -0.0137 0.0058 -0.0043 0.0005 -0.0040 0.0014 0.0010 -0.0007 0.0002 -0.0011 0.0063 -0.0520 -0.0166 0.2034 0.0901 -0.2463 0.0435 0.2861 -0.1315 -0.1177 -0.0642 0.0056 0.0496 -0.0303 0.0059 -0.1881 -0.0385 0.1468 0.1579 0.0064 0.0121 -0.0345 -0.0470 -0.1796 0.2784 0.0421 -0.0216 -0.1249 -0.0496 0.0689 0.1575 ... 0.0027 -0.0143 -0.0099 0.0480 -0.0656 -0.0351 -0.0026 0.0099 -0.0099 0.0084 -0.0023 0.0012 -0.0057 -0.0081 0.0055 -0.0026 -0.0045 -0.0273 0.0330 0.0093 -0.0057 0.0037 0.0084 -0.0017 -0.0015 -0.0339 0.0009 0.0202 0.0145 0.0141 0.0239 0.0004 -0.0138 0.0482 -0.0404 -0.0265 0.0217 0.0096 -0.0096 -0.0098 0.0029 0.0305 -0.0123 -0.0060 -0.0406 0.0807 0.0380 -0.0066 -0.0661 0.0158
Dimension 72 0.0047 -0.0026 0.0068 -0.0006 0.0006 -0.0186 -0.0145 -0.0016 -0.0055 -0.0005 -0.0023 0.0085 0.0000 0.0025 0.0037 0.0023 -0.0028 -0.0025 -0.0050 -0.0024 -0.2465 0.2146 0.0788 0.1162 -0.0627 0.1465 0.0556 -0.2667 0.0718 -0.0904 -0.0963 -0.0394 0.1238 0.0222 0.2017 -0.0214 0.1196 -0.3867 -0.0463 -0.1824 -0.0197 0.1161 0.0981 0.0827 0.0027 0.0704 0.0014 -0.0052 0.0077 -0.2465 ... -0.0070 0.0012 0.0002 0.0394 -0.0619 -0.0112 -0.0152 0.0154 -0.0154 -0.0089 0.0057 0.0169 0.0123 0.0049 -0.0091 -0.0041 0.0006 -0.0031 0.0282 0.0021 -0.0025 -0.0050 0.0099 -0.0021 0.0016 0.0010 -0.0009 0.0056 0.0009 0.0011 0.0215 0.0004 -0.0014 -0.0233 -0.0076 0.0129 0.0126 -0.0016 0.0016 -0.0036 0.0011 0.0224 0.0173 0.0137 0.0455 -0.0231 0.0005 -0.0062 -0.0229 -0.0091
Dimension 73 0.0047 0.0016 -0.0088 0.0110 -0.0110 -0.0102 -0.0362 0.0101 -0.0187 0.0064 0.0063 0.0042 -0.0019 -0.0010 0.0004 0.0013 0.0017 0.0023 0.0005 -0.0060 -0.0392 -0.2325 0.2894 0.0169 -0.0156 -0.0004 0.1136 -0.0570 -0.0356 -0.0334 0.1612 -0.0433 -0.0124 -0.0612 -0.0982 -0.0360 0.2030 0.1222 0.1833 0.0235 -0.1443 0.0214 0.1885 -0.3126 -0.2254 0.0142 0.1256 0.2414 -0.0221 -0.2113 ... -0.0079 0.0164 0.0067 0.0281 -0.0271 0.0298 0.0023 0.0100 -0.0100 -0.0094 0.0024 0.0073 0.0093 0.0036 -0.0014 0.0056 0.0056 0.0079 -0.0227 0.0015 -0.0080 0.0088 -0.0062 0.0096 0.0070 -0.0037 -0.0007 -0.0065 -0.0095 -0.0047 -0.0039 0.0024 0.0152 -0.0254 0.0067 0.0571 -0.0341 0.0014 -0.0014 0.0126 -0.0029 -0.0590 -0.0081 0.0133 -0.0258 0.0058 -0.0019 0.0348 0.0024 -0.0242
Dimension 74 0.0046 0.0171 -0.0303 0.0143 -0.0143 -0.0177 -0.0792 -0.0018 0.0058 0.0445 0.0264 -0.0089 -0.0028 -0.0008 -0.0037 -0.0066 -0.0007 0.0032 0.0041 0.0121 -0.0808 -0.1187 0.1810 0.0676 -0.0698 -0.1184 0.1711 0.0955 -0.1161 0.1440 -0.1124 0.0432 -0.0591 0.0678 -0.1689 -0.0023 0.0013 0.0427 -0.2308 0.1009 0.1929 -0.0537 -0.0887 0.0732 0.2082 -0.0712 0.0941 -0.1965 0.1446 -0.2107 ... 0.0047 -0.0052 0.0053 -0.0628 0.0710 0.0332 -0.0081 -0.0048 0.0048 0.0129 -0.0312 -0.0183 -0.0048 0.0034 0.0255 0.0233 -0.0143 0.0571 -0.0075 -0.0033 0.0019 -0.0003 -0.0155 0.0232 0.0017 0.0310 -0.0142 -0.0193 -0.0223 -0.0098 -0.0169 -0.0103 0.0064 -0.0678 0.0620 0.0114 -0.0237 0.0022 -0.0022 0.0206 -0.0231 -0.0642 0.0186 0.0232 -0.0293 0.0261 -0.0411 0.0161 0.0343 0.0276
Dimension 75 0.0046 -0.0086 0.0409 -0.0190 0.0190 0.0217 0.0733 0.0010 0.0427 0.0036 -0.0315 0.0015 0.0111 0.0039 0.0036 0.0027 -0.0059 -0.0011 -0.0038 -0.0090 0.0323 -0.1586 0.1153 0.0410 -0.0700 -0.0275 0.0447 0.0291 -0.0180 0.0376 0.0202 0.0684 -0.0878 0.0203 0.1492 -0.0182 -0.3486 0.2689 0.1700 -0.0946 -0.1137 -0.1035 0.1201 0.1439 0.1083 -0.0635 0.1857 -0.1252 -0.0783 0.0158 ... -0.0112 0.0222 0.0034 -0.0037 0.0239 0.0054 0.0262 -0.0358 0.0358 0.0056 0.0143 -0.0017 -0.0045 0.0015 -0.0029 -0.0019 0.0177 0.0263 -0.0385 -0.0006 -0.0135 -0.0135 0.0143 0.0030 -0.0098 -0.0576 -0.0386 0.0035 -0.0083 -0.0030 -0.0055 -0.0041 -0.0127 0.1269 0.0482 -0.0852 -0.0645 -0.0046 0.0046 0.0246 -0.0143 0.0430 -0.0216 0.0003 -0.0071 -0.0229 0.0013 -0.0157 0.0440 -0.0012
Dimension 76 0.0046 -0.0176 -0.0135 -0.0095 0.0095 -0.0069 0.0041 -0.0208 0.0361 -0.0217 0.0118 -0.0032 -0.0050 -0.0033 -0.0059 -0.0063 -0.0052 -0.0020 0.0072 0.0190 0.0942 -0.0921 -0.2440 0.1099 -0.0077 -0.1044 0.1135 -0.0537 0.0209 0.0599 0.0687 -0.0524 -0.0077 -0.0466 -0.0526 0.0363 0.1281 -0.1114 -0.2460 0.3085 -0.0486 0.0327 0.0254 -0.1278 0.1841 -0.1027 0.1347 -0.1728 0.0495 -0.0304 ... 0.0182 -0.0112 -0.0023 0.1207 -0.1448 0.0183 -0.0210 0.0053 -0.0053 0.0029 0.0100 -0.0049 -0.0159 0.0031 0.0069 -0.0007 0.0040 -0.0363 -0.0240 0.0043 -0.0020 -0.0086 0.0026 -0.0017 -0.0027 -0.0157 0.0059 0.0202 0.0114 -0.0036 0.0201 0.0004 -0.0100 -0.0118 -0.0203 -0.0049 0.0490 -0.0036 0.0036 0.0004 0.0082 -0.0241 0.0266 0.0068 0.0276 -0.0279 0.0163 -0.0131 0.0015 -0.0253
Dimension 77 0.0046 -0.0070 0.0023 -0.0330 0.0330 0.0211 0.0379 0.0155 -0.0635 -0.0219 -0.0380 0.0094 0.0002 -0.0004 0.0066 0.0109 0.0010 0.0011 -0.0015 -0.0193 0.1495 -0.1227 0.1297 -0.2316 0.1539 0.0604 -0.2026 0.0062 0.0930 0.1199 -0.1239 -0.0875 0.0882 -0.1020 -0.0609 0.0406 0.0137 0.2172 -0.0495 0.0546 0.0472 -0.0204 -0.0355 0.0298 0.0997 0.0444 0.0044 -0.1352 0.0269 -0.1578 ... -0.0348 0.0205 -0.0096 0.1084 -0.2104 0.0456 -0.0085 -0.0026 0.0026 -0.0354 0.0353 0.0311 0.0242 0.0140 -0.0243 -0.0012 -0.0001 -0.0272 0.0655 -0.0181 0.0132 -0.0042 0.0243 -0.0097 -0.0164 0.0600 0.0280 0.0430 0.0240 0.0243 -0.0145 -0.0034 -0.0384 0.0964 -0.0766 -0.0406 0.0061 0.0014 -0.0014 -0.0616 0.0315 -0.0111 0.0419 -0.0045 0.0583 -0.0212 0.0114 -0.1149 0.0434 0.0519
Dimension 78 0.0046 0.0043 -0.0401 0.0027 -0.0027 -0.0037 -0.0235 -0.0121 -0.0073 -0.0015 0.0101 -0.0020 -0.0039 -0.0039 -0.0004 -0.0014 0.0127 0.0053 -0.0004 -0.0059 0.0649 0.1275 -0.0079 -0.0399 -0.1453 0.0750 -0.1256 0.0761 -0.0248 0.2496 -0.2045 -0.0942 0.0679 -0.0511 0.1059 0.0152 -0.0620 0.0206 -0.0680 -0.0087 -0.1177 0.1061 -0.0317 0.1200 0.0028 0.0228 0.0799 -0.0112 -0.1118 0.0520 ... 0.0133 -0.0107 0.0091 -0.0024 -0.0163 0.0292 -0.0125 0.0048 -0.0048 -0.0014 -0.0040 -0.0053 0.0024 0.0137 -0.0017 -0.0015 -0.0049 -0.0067 -0.0028 -0.0093 0.0054 -0.0021 -0.0053 -0.0007 -0.0015 0.0206 -0.0020 -0.0038 0.0044 -0.0023 -0.0073 0.0106 0.0005 -0.0071 -0.0234 0.0079 0.0226 -0.0081 0.0081 -0.0145 0.0132 -0.0350 0.0366 -0.0042 0.0383 -0.0626 -0.0291 0.0072 -0.0112 0.0417
Dimension 79 0.0046 -0.0251 0.0520 -0.0037 0.0037 -0.0254 -0.0170 -0.0027 -0.0054 -0.0400 -0.0004 0.0051 -0.0042 -0.0044 -0.0013 0.0053 -0.0038 -0.0007 -0.0001 0.0049 -0.0491 -0.1810 0.3451 -0.1258 0.1233 -0.0414 -0.1300 0.0386 0.0765 0.0511 0.0489 0.0102 -0.0599 0.0611 -0.0648 -0.0717 0.1671 -0.0744 -0.0406 -0.0073 0.1279 -0.0835 0.0232 0.0360 0.0019 0.0257 -0.1625 -0.0382 0.0432 0.1360 ... 0.0049 -0.0185 0.0090 -0.0957 0.1034 -0.0090 0.0015 -0.0274 0.0274 0.0351 -0.0041 -0.0165 -0.0317 -0.0317 0.0072 -0.0258 0.0349 -0.0308 0.0485 0.0068 -0.0262 0.0072 0.0120 -0.0045 0.0129 -0.0260 -0.0093 0.0291 0.0204 0.0178 0.0372 0.0160 -0.0080 -0.0056 0.0181 -0.0879 0.0723 0.0095 -0.0095 -0.0002 -0.0053 0.0355 -0.0174 -0.0131 -0.0378 0.0889 0.0153 0.0329 -0.0448 -0.0381
Dimension 80 0.0046 -0.0121 0.0241 0.0090 -0.0090 -0.0174 -0.0163 0.0153 0.0473 0.0568 0.0325 0.0026 -0.0075 -0.0073 -0.0097 -0.0015 0.0007 0.0057 0.0032 0.0121 0.2440 -0.0780 -0.2069 0.0890 -0.2248 0.1255 -0.0434 -0.1200 0.0301 0.1846 -0.2922 0.0740 -0.0404 -0.0177 -0.1173 -0.0723 0.2806 0.0062 0.1158 -0.2059 -0.0419 0.0674 0.1070 -0.0289 0.0323 -0.0062 -0.1295 -0.0051 0.0076 0.1930 ... -0.0101 0.0237 0.0095 0.1040 -0.1022 0.0185 -0.0208 -0.0158 0.0158 -0.0114 0.0189 0.0064 -0.0035 -0.0020 -0.0023 -0.0104 0.0005 0.0898 -0.0588 0.0039 -0.0145 0.0014 -0.0046 0.0088 0.0122 -0.0296 -0.0130 -0.0040 0.0029 -0.0084 0.0022 0.0296 0.0153 -0.0444 0.0055 0.0629 -0.0032 0.0015 -0.0015 0.0226 0.0024 -0.0184 0.0263 0.0213 -0.0009 0.0187 -0.0351 0.0778 -0.0072 -0.0637
Dimension 81 0.0046 0.0176 -0.0233 -0.0019 0.0019 -0.0310 -0.0446 -0.0402 0.0076 -0.0269 -0.0834 -0.0088 -0.0185 -0.0069 -0.0037 0.0088 0.0021 0.0022 0.0062 0.0141 -0.1339 0.0253 0.0380 0.1373 -0.0971 -0.0635 -0.0938 0.0080 0.0675 -0.1176 -0.0372 -0.0427 0.0995 0.0777 -0.0558 -0.0062 -0.1281 0.0490 -0.0301 -0.2089 0.2989 -0.0156 0.2255 -0.2252 0.1222 0.0560 -0.1971 -0.1781 0.0298 0.1598 ... -0.0020 -0.0014 -0.0091 0.0335 -0.0509 0.0085 0.0303 0.0380 -0.0380 0.0187 -0.0277 -0.0128 -0.0130 -0.0144 0.0023 -0.0095 0.0180 -0.0796 -0.0047 -0.0140 0.0202 -0.0058 0.0091 -0.0087 -0.0080 0.0576 0.0007 -0.0021 -0.0184 -0.0049 -0.0040 -0.0031 -0.0049 -0.0103 -0.0068 0.0168 -0.0105 -0.0005 0.0005 -0.0029 -0.0048 -0.0180 -0.0270 0.0047 0.0711 0.0109 -0.0543 -0.0898 0.0475 0.0819
Dimension 82 0.0045 -0.0383 0.0441 0.0165 -0.0165 0.0283 0.0872 0.0084 -0.0330 0.0715 0.0522 -0.0030 0.0020 0.0007 0.0056 -0.0105 -0.0067 0.0020 0.0001 0.0040 0.0426 0.0783 -0.0419 -0.0584 -0.0117 0.0179 -0.0602 0.0263 0.0124 -0.1641 -0.1578 0.1736 -0.0347 0.0478 -0.0026 0.0027 -0.1307 0.0688 -0.0293 0.0986 0.1383 -0.2295 0.0843 0.0020 -0.1663 0.0609 -0.0876 0.2482 0.0646 -0.2649 ... 0.0353 -0.0430 0.0192 0.0015 -0.0401 -0.0363 -0.0274 0.0522 -0.0522 -0.0222 0.0241 0.0144 -0.0037 -0.0014 0.0075 0.0135 -0.0278 0.0533 0.0686 0.0182 -0.0326 0.0226 -0.0059 0.0073 0.0209 0.0121 0.0417 0.0182 0.0342 0.0176 0.0441 0.0363 0.0144 -0.1328 -0.0408 -0.0018 0.1664 0.0050 -0.0050 -0.0217 0.0213 -0.0594 0.0421 -0.0147 -0.0582 -0.0130 0.0249 -0.0044 -0.0202 0.0676
Dimension 83 0.0045 0.0150 0.0101 0.0141 -0.0141 0.0424 0.0389 -0.0428 0.0157 -0.0484 0.0182 -0.0114 -0.0078 -0.0063 -0.0018 -0.0085 0.0084 0.0060 0.0008 0.0100 0.0488 0.1735 0.0269 -0.1536 -0.0449 0.0005 -0.0987 0.0059 0.0492 0.0004 0.0121 -0.0764 0.0620 -0.0495 -0.1525 0.0511 0.1532 -0.0342 0.0102 -0.0904 0.1340 -0.1553 -0.0491 0.2289 0.0404 0.0333 0.0049 -0.0274 -0.0767 0.0389 ... 0.0244 -0.0106 0.0035 -0.0676 0.1176 0.0903 -0.0310 -0.0217 0.0217 -0.0456 0.0599 0.0396 0.0258 0.0098 -0.0323 -0.0144 -0.0498 -0.0370 -0.0903 0.0103 0.0174 0.0032 -0.0220 0.0098 -0.0108 0.0045 -0.0002 -0.0125 -0.0163 -0.0277 0.0101 -0.0086 0.0080 -0.0638 0.0478 0.0500 -0.0343 -0.0067 0.0067 0.0359 -0.0232 0.0056 -0.0000 0.0401 0.0956 -0.0587 -0.0157 0.0476 -0.0278 -0.0990
Dimension 84 0.0045 0.0039 0.0161 -0.0166 0.0166 0.0430 0.0186 -0.0459 0.0063 -0.0162 -0.0176 0.0064 0.0137 0.0049 0.0060 0.0038 -0.0055 -0.0019 -0.0065 -0.0139 0.0981 0.0103 0.1026 -0.0907 -0.0901 -0.0015 0.0044 0.0214 0.0024 -0.0060 -0.1907 0.0638 0.0273 0.0206 0.0022 0.0273 -0.0114 -0.0926 -0.0198 0.1647 -0.0032 -0.0936 0.0240 -0.0525 -0.0859 0.0206 -0.1247 0.0737 -0.0584 0.2384 ... 0.0508 -0.0669 -0.0076 0.0354 -0.0827 -0.0858 -0.0026 -0.0462 0.0462 0.0052 0.0022 -0.0029 -0.0028 -0.0179 -0.0062 -0.0122 0.0242 -0.0038 -0.0348 -0.0230 0.0162 0.0016 0.0013 0.0011 -0.0092 0.0124 -0.0057 0.0071 0.0018 0.0134 -0.0020 -0.0252 -0.0182 0.0025 0.0029 -0.0326 0.0058 -0.0005 0.0005 -0.0257 0.0060 0.0591 0.0067 -0.0270 0.0068 -0.0309 0.0349 -0.0825 0.0224 0.0556
Dimension 85 0.0045 -0.0003 -0.0650 0.0212 -0.0212 0.0236 0.0376 0.0146 0.0208 -0.0313 -0.0066 -0.0096 0.0014 0.0037 0.0105 0.0084 0.0091 0.0038 -0.0021 -0.0234 0.1125 0.0123 -0.3003 0.1227 -0.1123 -0.0504 -0.1610 0.2074 -0.0143 -0.1916 0.1165 0.1258 -0.0875 0.0130 0.0111 -0.0162 -0.0357 0.0895 -0.0867 0.0327 0.1154 0.0516 -0.1992 0.0275 -0.0239 0.0244 -0.0474 -0.0262 0.0702 -0.0274 ... -0.0145 0.0321 -0.0065 -0.0869 0.1693 0.0504 0.0127 0.0099 -0.0099 -0.0127 0.0196 0.0190 0.0195 0.0134 -0.0196 -0.0045 0.0103 -0.0384 -0.0373 0.0137 0.0124 0.0198 -0.0026 0.0065 0.0236 0.0391 0.0373 0.0090 0.0106 -0.0025 0.0323 0.0368 0.0322 -0.1545 -0.0025 0.0722 0.0824 0.0119 -0.0119 -0.0093 0.0240 -0.0033 -0.0452 0.0333 0.0271 0.1308 -0.0250 0.0874 -0.0822 -0.1226

85 rows × 217 columns

Discussion 2.2: Perform Dimensionality Reduction

I reduced the PCA to 85 components based on the 80-20 rule: they explained 80% of the variation.

Step 2.3: Interpret Principal Components

Now that we have our transformed principal components, it's a nice idea to check out the weight of each variable on the first few components to see if they can be interpreted in some fashion.

As a reminder, each principal component is a unit vector that points in the direction of highest variance (after accounting for the variance captured by earlier principal components). The further a weight is from zero, the more the principal component is in the direction of the corresponding feature. If two features have large weights of the same sign (both positive or both negative), then increases in one tend expect to be associated with increases in the other. To contrast, features with different signs can be expected to show a negative correlation: increases in one variable should result in a decrease in the other.

  • To investigate the features, you should map each weight to their corresponding feature name, then sort the features according to weight. The most interesting features for each principal component, then, will be those at the beginning and end of the sorted list. Use the data dictionary document to help you understand these most prominent features, their relationships, and what a positive or negative value on the principal component might indicate.
  • You should investigate and interpret feature associations from the first three principal components in this substep. To help facilitate this, you should write a function that you can call at any time to print the sorted list of feature weights, for the i-th principal component. This might come in handy in the next step of the project, when you interpret the tendencies of the discovered clusters.
In [57]:
# Map weights for the first principal component to corresponding feature names
# and then print the linked values, sorted by weight.
# HINT: Try defining a function here or in a new cell that you can reuse in the
# other cells.

# I borrowed this function from the helper functions used in the practice projects
def pca_weight(pca, df, i):
    '''
    INPUT:
        pca - the result of instantian of PCA in scikit learn
        df - associated dataframe
        i - component reference (zero-based) 
    OUTPUT:
        df - dataframe of linked values, sorted by weight
    '''
    df = pd.DataFrame(pca.components_, columns=list(df.columns))
    weights = df.iloc[i].sort_values(ascending=False)
    return weights
In [95]:
pca_wgt_0 = pca_weight(pca_85, azdias_scaled, 0)
print(pca_wgt_0)
LP_STATUS_GROB_1.0       0.183545
HH_EINKOMMEN_SCORE       0.178435
PLZ8_ANTG3               0.170709
PLZ8_ANTG4               0.165937
PLZ8_BAUMAX              0.161644
CAMEO_WEALTH_5.0         0.143701
ORTSGR_KLS9              0.141595
FINANZ_HAUSBAUER         0.141491
EWDICHTE                 0.139763
CAMEO_LIFESTAGE_1.0      0.133663
KBA05_ANTG4              0.121316
LP_STATUS_FEIN_1.0       0.121307
PLZ8_ANTG2               0.114924
GREEN_AVANTGARDE_0.0     0.112367
KBA05_ANTG3              0.109400
ANZ_HAUSHALTE_AKTIV      0.108312
CAMEO_DEUG_2015_9.0      0.107415
ARBEIT                   0.107065
LP_STATUS_FEIN_2.0       0.104120
FINANZ_SPARER            0.101525
FINANZTYP_1.0            0.100266
RELAT_AB                 0.098319
MOVEMENT_MAINSTREAM      0.095496
LP_FAMILIE_FEIN_1.0      0.093313
LP_FAMILIE_GROB_1.0      0.093313
CAMEO_DEUG_2015_8.0      0.088343
SEMIO_PFLICHT            0.071064
ZABEOTYP_5.0             0.070342
SEMIO_REL                0.066697
GEBAEUDETYP_3.0          0.061463
CAMEO_DEU_2015_8A        0.061134
SEMIO_RAT                0.060679
REGIOTYP                 0.058814
GFK_URLAUBERTYP_12.0     0.058319
DECADE_90s               0.057546
CAMEO_DEU_2015_9C        0.055477
CAMEO_DEU_2015_9B        0.055095
CAMEO_DEU_2015_9D        0.055001
SEMIO_MAT                0.050681
SEMIO_TRADV              0.049352
W_KEIT_KIND_HH           0.049306
FINANZ_ANLEGER           0.047998
SEMIO_FAM                0.045753
OST_WEST_KZ_O            0.045559
FINANZ_UNAUFFAELLIGER    0.045536
NATIONALITAET_KZ_2.0     0.041759
CAMEO_DEU_2015_8B        0.039907
GEBAEUDETYP_8.0          0.038928
KKK                      0.037895
SEMIO_KAEM               0.037207
                           ...   
SEMIO_ERL               -0.039547
MIN_GEBAEUDEJAHR        -0.042135
CAMEO_DEU_2015_2C       -0.043540
CAMEO_DEU_2015_4A       -0.043645
CAMEO_DEU_2015_4C       -0.044915
OST_WEST_KZ_W           -0.045559
SEMIO_LUST              -0.046969
CAMEO_DEUG_2015_1.0     -0.047019
FINANZTYP_3.0           -0.047324
ZABEOTYP_2.0            -0.047705
CAMEO_DEU_2015_2D       -0.048225
CAMEO_LIFESTAGE_3.0     -0.048711
LP_FAMILIE_FEIN_11.0    -0.051286
LP_FAMILIE_FEIN_10.0    -0.052487
WOHNDAUER_2008          -0.052591
WOHNLAGE                -0.054201
ONLINE_AFFINITAET       -0.057897
NATIONALITAET_KZ_1.0    -0.058122
KBA13_ANZAHL_PKW        -0.059521
CAMEO_DEUG_2015_3.0     -0.060464
CAMEO_LIFESTAGE_4.0     -0.061948
FINANZTYP_2.0           -0.070094
CAMEO_DEUG_2015_4.0     -0.071035
ALTERSKATEGORIE_GROB    -0.072075
FINANZ_VORSORGER        -0.074980
LP_FAMILIE_GROB_5.0     -0.076319
GEBAEUDETYP_1.0         -0.080549
CAMEO_DEUG_2015_2.0     -0.085306
BALLRAUM                -0.086652
GEBAEUDETYP_RASTER      -0.089993
ANZ_PERSONEN            -0.090571
LP_STATUS_FEIN_9.0      -0.095481
ZABEOTYP_1.0            -0.096542
LP_STATUS_GROB_4.0      -0.096713
CAMEO_WEALTH_2.0        -0.099856
CAMEO_WEALTH_1.0        -0.100438
GREEN_AVANTGARDE_1.0    -0.112367
MOVEMENT_AVANTGARDE     -0.112367
INNENSTADT              -0.116841
LP_STATUS_GROB_5.0      -0.117158
LP_STATUS_FEIN_10.0     -0.117158
LP_LEBENSPHASE_GROB     -0.124184
KONSUMNAEHE             -0.125820
PLZ8_GBZ                -0.127906
LP_LEBENSPHASE_FEIN     -0.136998
KBA05_GBZ               -0.172543
PLZ8_ANTG1              -0.173242
FINANZ_MINIMALIST       -0.175894
KBA05_ANTG1             -0.183162
MOBI_REGIO              -0.194971
Name: 0, Length: 216, dtype: float64
In [96]:
# Map weights for the second principal component to corresponding feature names
# and then print the linked values, sorted by weight.
pca_wgt_1 = pca_weight(pca_85, azdias_scaled, 1)
print(pca_wgt_1)
ALTERSKATEGORIE_GROB     0.226402
FINANZ_VORSORGER         0.215620
ZABEOTYP_3.0             0.192388
SEMIO_ERL                0.174431
SEMIO_LUST               0.156242
RETOURTYP_BK_S           0.153034
W_KEIT_KIND_HH           0.124816
DECADE_60s               0.112422
CJT_GESAMTTYP_2.0        0.106405
DECADE_50s               0.104578
FINANZ_MINIMALIST        0.097089
FINANZTYP_5.0            0.093806
FINANZTYP_2.0            0.090807
LP_STATUS_FEIN_1.0       0.086555
SHOPPER_TYP_3.0          0.076087
SEMIO_KRIT               0.074343
FINANZ_HAUSBAUER         0.072856
CJT_GESAMTTYP_1.0        0.069009
DECADE_40s               0.068782
NATIONALITAET_KZ_1.0     0.066925
FINANZTYP_6.0            0.065622
LP_FAMILIE_GROB_1.0      0.059311
LP_FAMILIE_FEIN_1.0      0.059311
DECADE_70s               0.058766
GFK_URLAUBERTYP_4.0      0.055337
PLZ8_ANTG3               0.054155
WOHNDAUER_2008           0.053610
EWDICHTE                 0.053539
ORTSGR_KLS9              0.052875
SEMIO_KAEM               0.052364
PLZ8_ANTG4               0.051010
LP_STATUS_FEIN_3.0       0.047647
PLZ8_BAUMAX              0.047230
CAMEO_LIFESTAGE_5.0      0.043035
KBA05_ANTG4              0.042532
ARBEIT                   0.042350
GFK_URLAUBERTYP_7.0      0.041865
LP_FAMILIE_GROB_2.0      0.039432
LP_FAMILIE_FEIN_2.0      0.039432
RELAT_AB                 0.038171
ANZ_HAUSHALTE_AKTIV      0.038071
PLZ8_ANTG2               0.037156
ANREDE_KZ_2.0            0.036495
CAMEO_DEU_2015_9E        0.036365
CAMEO_WEALTH_5.0         0.035886
CAMEO_DEU_2015_8D        0.033627
CAMEO_DEUG_2015_8.0      0.031769
GFK_URLAUBERTYP_3.0      0.029924
HH_EINKOMMEN_SCORE       0.024120
GFK_URLAUBERTYP_5.0      0.024018
                           ...   
CJT_GESAMTTYP_5.0       -0.036990
CAMEO_WEALTH_2.0        -0.037283
GFK_URLAUBERTYP_2.0     -0.038506
LP_FAMILIE_FEIN_11.0    -0.038517
LP_FAMILIE_FEIN_8.0     -0.038640
LP_FAMILIE_FEIN_7.0     -0.039150
GFK_URLAUBERTYP_12.0    -0.039391
KONSUMNAEHE             -0.040285
CJT_GESAMTTYP_6.0       -0.040943
PLZ8_GBZ                -0.042229
INNENSTADT              -0.042501
LP_LEBENSPHASE_FEIN     -0.043120
NATIONALITAET_KZ_2.0    -0.045079
KBA05_ANTG1             -0.045912
LP_FAMILIE_GROB_3.0     -0.046394
NATIONALITAET_KZ_3.0    -0.047217
SHOPPER_TYP_0.0         -0.048878
DECADE_80s              -0.049723
HEALTH_TYP              -0.050000
LP_LEBENSPHASE_GROB     -0.050351
LP_FAMILIE_GROB_5.0     -0.050411
ZABEOTYP_1.0            -0.051484
MOBI_REGIO              -0.052369
KBA05_GBZ               -0.052519
CJT_GESAMTTYP_4.0       -0.052976
PLZ8_ANTG1              -0.053312
SEMIO_SOZ               -0.060961
LP_FAMILIE_GROB_4.0     -0.065237
FINANZTYP_3.0           -0.066975
ANZ_PERSONEN            -0.067846
GFK_URLAUBERTYP_9.0     -0.071104
LP_STATUS_FEIN_5.0      -0.076538
FINANZTYP_4.0           -0.087482
ZABEOTYP_5.0            -0.094617
LP_STATUS_FEIN_2.0      -0.099052
ZABEOTYP_4.0            -0.106430
SEMIO_MAT               -0.124446
SEMIO_FAM               -0.129379
FINANZTYP_1.0           -0.135786
ONLINE_AFFINITAET       -0.155598
SEMIO_KULT              -0.161760
SEMIO_RAT               -0.163798
ALTER_HH                -0.181371
DECADE_90s              -0.199368
SEMIO_TRADV             -0.200364
FINANZ_ANLEGER          -0.200739
SEMIO_PFLICHT           -0.202753
FINANZ_UNAUFFAELLIGER   -0.209772
SEMIO_REL               -0.209842
FINANZ_SPARER           -0.225677
Name: 1, Length: 216, dtype: float64
In [97]:
# Map weights for the third principal component to corresponding feature names
# and then print the linked values, sorted by weight.
pca_wgt_2 = pca_weight(pca_85, azdias_scaled, 2)
print(pca_wgt_2)
ANREDE_KZ_1.0            0.308016
SEMIO_VERT               0.285133
SEMIO_SOZ                0.232034
SEMIO_FAM                0.229717
SEMIO_KULT               0.219654
FINANZTYP_5.0            0.132801
MOVEMENT_AVANTGARDE      0.120357
GREEN_AVANTGARDE_1.0     0.120357
FINANZ_MINIMALIST        0.112727
ZABEOTYP_1.0             0.110381
SHOPPER_TYP_0.0          0.104006
SEMIO_REL                0.100458
ORTSGR_KLS9              0.093501
EWDICHTE                 0.093200
LP_STATUS_GROB_5.0       0.085293
LP_STATUS_FEIN_10.0      0.085293
SEMIO_MAT                0.077409
RETOURTYP_BK_S           0.066524
PLZ8_ANTG3               0.064916
PLZ8_ANTG4               0.063599
PLZ8_BAUMAX              0.063369
LP_STATUS_FEIN_3.0       0.051883
W_KEIT_KIND_HH           0.048898
PLZ8_ANTG2               0.048051
RELAT_AB                 0.047578
ARBEIT                   0.043989
ZABEOTYP_6.0             0.041603
SHOPPER_TYP_1.0          0.039590
LP_STATUS_FEIN_1.0       0.038326
CAMEO_LIFESTAGE_1.0      0.034549
FINANZ_VORSORGER         0.034449
LP_STATUS_GROB_3.0       0.034419
GEBAEUDETYP_3.0          0.033269
CAMEO_DEUG_2015_1.0      0.032360
CAMEO_WEALTH_1.0         0.030264
NATIONALITAET_KZ_2.0     0.028817
VERS_TYP_2.0             0.028565
LP_STATUS_FEIN_7.0       0.028194
KBA05_ANTG4              0.027108
CAMEO_DEU_2015_9C        0.026401
CAMEO_DEUG_2015_9.0      0.025276
GFK_URLAUBERTYP_4.0      0.024188
FINANZTYP_3.0            0.024172
PLZ8_HHZ                 0.024029
ANZ_HAUSHALTE_AKTIV      0.023654
CAMEO_DEU_2015_1D        0.023254
CAMEO_WEALTH_5.0         0.023185
LP_STATUS_FEIN_6.0       0.023147
LP_FAMILIE_FEIN_2.0      0.022425
LP_FAMILIE_GROB_2.0      0.022425
                           ...   
CAMEO_DEUG_2015_3.0     -0.023911
GFK_URLAUBERTYP_9.0     -0.023932
CAMEO_DEU_2015_4C       -0.024437
CAMEO_LIFESTAGE_3.0     -0.024516
ALTER_HH                -0.025704
NATIONALITAET_KZ_3.0    -0.025822
KBA05_GBZ               -0.026129
CAMEO_LIFESTAGE_2.0     -0.026631
FINANZ_UNAUFFAELLIGER   -0.027347
MOBI_REGIO              -0.028951
DECADE_90s              -0.029468
FINANZTYP_2.0           -0.029628
CAMEO_DEU_2015_4A       -0.030657
GEBAEUDETYP_1.0         -0.032281
LP_STATUS_GROB_2.0      -0.032920
LP_FAMILIE_FEIN_4.0     -0.032984
REGIOTYP                -0.034201
CJT_GESAMTTYP_2.0       -0.035366
SHOPPER_TYP_3.0         -0.036238
PLZ8_GBZ                -0.038913
CAMEO_DEUG_2015_4.0     -0.040189
FINANZ_SPARER           -0.042122
LP_STATUS_FEIN_9.0      -0.042390
LP_STATUS_GROB_4.0      -0.043535
ZABEOTYP_3.0            -0.044294
LP_FAMILIE_GROB_3.0     -0.045185
GEBAEUDETYP_RASTER      -0.047218
CAMEO_WEALTH_2.0        -0.049083
ZABEOTYP_4.0            -0.054279
HH_EINKOMMEN_SCORE      -0.055182
KKK                     -0.055751
PLZ8_ANTG1              -0.056947
FINANZ_HAUSBAUER        -0.061428
KONSUMNAEHE             -0.063234
LP_STATUS_FEIN_2.0      -0.067506
BALLRAUM                -0.071391
WOHNLAGE                -0.072664
INNENSTADT              -0.078661
SHOPPER_TYP_2.0         -0.081140
FINANZTYP_1.0           -0.082768
LP_STATUS_FEIN_4.0      -0.087232
MOVEMENT_MAINSTREAM     -0.105013
GREEN_AVANTGARDE_0.0    -0.120357
SEMIO_RAT               -0.133502
FINANZ_ANLEGER          -0.144284
SEMIO_ERL               -0.185708
SEMIO_KRIT              -0.231816
SEMIO_DOM               -0.237612
SEMIO_KAEM              -0.273242
ANREDE_KZ_2.0           -0.308016
Name: 2, Length: 216, dtype: float64

Discussion 2.3: Interpret Principal Components

The positive and negative values represent how much the features are weighted in the component - the higher the value, the more they are correlated with the component, and the lower the value the more they are anti-correlated. For example in component 0 we see LP_STATUS_GROB_1.0 is the hightest weighted feature. That's a one-hot encoded variable that we know represents low-income earners.

Step 3: Clustering

Step 3.1: Apply Clustering to General Population

You've assessed and cleaned the demographics data, then scaled and transformed them. Now, it's time to see how the data clusters in the principal components space. In this substep, you will apply k-means clustering to the dataset and use the average within-cluster distances from each point to their assigned cluster's centroid to decide on a number of clusters to keep.

  • Use sklearn's KMeans class to perform k-means clustering on the PCA-transformed data.
  • Then, compute the average difference from each point to its assigned cluster's center. Hint: The KMeans object's .score() method might be useful here, but note that in sklearn, scores tend to be defined so that larger is better. Try applying it to a small, toy dataset, or use an internet search to help your understanding.
  • Perform the above two steps for a number of different cluster counts. You can then see how the average distance decreases with an increasing number of clusters. However, each additional cluster provides a smaller net benefit. Use this fact to select a final number of clusters in which to group the data. Warning: because of the large size of the dataset, it can take a long time for the algorithm to resolve. The more clusters to fit, the longer the algorithm will take. You should test for cluster counts through at least 10 clusters to get the full picture, but you shouldn't need to test for a number of clusters above about 30.
  • Once you've selected a final number of clusters to use, re-fit a KMeans instance to perform the clustering operation. Make sure that you also obtain the cluster assignments for the general demographics data, since you'll be using them in the final Step 3.3.
In [61]:
def plot_data(data, labels):
    '''
    Plot data with colors associated with labels
    '''
    fig = plt.figure();
    ax = Axes3D(fig)
    ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=labels, cmap='tab10');
In [62]:
# Over a number of different cluster counts...
kmeans_3 = KMeans(n_clusters=3)

# run k-means clustering on the data and...
model_3 = kmeans_3.fit(azdias_pca)    
labels_3 = model_3.predict(azdias_pca)
plot_data(azdias_pca, labels_3)

# compute the average within-cluster distances.
    
    
In [63]:
# Investigate the change in within-cluster distance across number of clusters.
# HINT: Use matplotlib's plot function to visualize this relationship.

# Borrowed from the practice project helper functions
def get_kmeans_score(data, center):
    '''
    returns the kmeans score regarding SSE for points to centers
    INPUT:
        data - the dataset you want to fit kmeans to
        center - the number of centers you want (the k value)
    OUTPUT:
        score - the SSE score for the kmeans model fit to the data
    '''
    #instantiate kmeans
    kmeans = KMeans(n_clusters=center)

    # Then fit the model to your data using the fit method
    model = kmeans.fit(data)
    
    # Obtain a score related to the model fit
    score = np.abs(model.score(data))
    
    return score

scores = []
centers = list(range(1,21))

for center in centers:
    scores.append(get_kmeans_score(azdias_pca, center))
In [64]:
plt.plot(centers, scores, linestyle='--', marker='o')
plt.xlabel('K')
plt.xticks(centers)
plt.ylabel('SSE')
plt.title('SSE vs. K')
plt.show()
In [65]:
# Re-fit the k-means model with the selected number of clusters and obtain
# cluster predictions for the general population demographics data.

kmeans = KMeans(n_clusters=13)

# run k-means clustering on the data and...
model = kmeans.fit(azdias_pca)    
azdias_predict = model.predict(azdias_pca)
plot_data(azdias_pca, azdias_predict)

Discussion 3.1: Apply Clustering to General Population

The elbow of the scree plot is at approximately 13 so I selected that as the number of clusters in my k-means model. We can see a neat 3D visual representation of some of those clusters above. I saw some, because obviously several clusters will be hidden from any direction in a 3D view.

Step 3.2: Apply All Steps to the Customer Data

Now that you have clusters and cluster centers for the general population, it's time to see how the customer data maps on to those clusters. Take care to not confuse this for re-fitting all of the models to the customer data. Instead, you're going to use the fits from the general population to clean, transform, and cluster the customer data. In the last step of the project, you will interpret how the general population fits apply to the customer data.

  • Don't forget when loading in the customers data, that it is semicolon (;) delimited.
  • Apply the same feature wrangling, selection, and engineering steps to the customer demographics using the clean_data() function you created earlier. (You can assume that the customer demographics data has similar meaning behind missing data patterns as the general demographics data.)
  • Use the sklearn objects from the general demographics data, and apply their transformations to the customers data. That is, you should not be using a .fit() or .fit_transform() method to re-fit the old objects, nor should you be creating new sklearn objects! Carry the data through the feature scaling, PCA, and clustering steps, obtaining cluster assignments for all of the data in the customer demographics data.
In [66]:
# Load in the customer demographics data.
customers = pd.read_csv('Udacity_CUSTOMERS_Subset.csv', sep=';')
In [67]:
# Clean the data
customers_cleaned = clean_data(customers, feat_info)
In [68]:
customers_cleaned.shape
Out[68]:
(135558, 215)
In [69]:
# We're missing one column, figure out what it is
set(azdias_scaled.columns).difference(customers_cleaned.columns)
Out[69]:
{'GEBAEUDETYP_5.0'}
In [70]:
# It's a one-hot encoded column that's missing, so we can safely set it to 0
customers_cleaned['GEBAEUDETYP_5.0'] = 0
In [72]:
# Apply preprocessing, feature transformation, and clustering from the general
# demographics onto the customer data, obtaining cluster predictions for the
# customer demographics data.

# For the columns that still have NaN let's replace them with the median value
customers_imputed = impute.SimpleImputer(missing_values=np.nan, strategy='median')
customers_imputed = pd.DataFrame(imputed.fit_transform(customers_cleaned))
In [73]:
customers_imputed.columns = customers_cleaned.columns
customers_imputed.index = customers_cleaned.index
In [74]:
customers_scaled = scaler.fit_transform(customers_imputed)
In [75]:
customers_scaled = pd.DataFrame(customers_scaled, columns=list(customers_imputed))
In [76]:
customers_pca = pca_85.transform(customers_scaled)
In [77]:
pca_results(customers_scaled, pca_85)
Out[77]:
Explained Variance ALTERSKATEGORIE_GROB FINANZ_MINIMALIST FINANZ_SPARER FINANZ_VORSORGER FINANZ_ANLEGER FINANZ_UNAUFFAELLIGER FINANZ_HAUSBAUER HEALTH_TYP LP_LEBENSPHASE_FEIN LP_LEBENSPHASE_GROB RETOURTYP_BK_S SEMIO_SOZ SEMIO_FAM SEMIO_REL SEMIO_MAT SEMIO_VERT SEMIO_LUST SEMIO_ERL SEMIO_KULT SEMIO_RAT SEMIO_KRIT SEMIO_DOM SEMIO_KAEM SEMIO_PFLICHT SEMIO_TRADV ALTER_HH ANZ_PERSONEN ANZ_TITEL HH_EINKOMMEN_SCORE W_KEIT_KIND_HH WOHNDAUER_2008 ANZ_HAUSHALTE_AKTIV ANZ_HH_TITEL KONSUMNAEHE MIN_GEBAEUDEJAHR WOHNLAGE KBA05_ANTG1 KBA05_ANTG2 KBA05_ANTG3 KBA05_ANTG4 KBA05_GBZ BALLRAUM EWDICHTE INNENSTADT GEBAEUDETYP_RASTER KKK MOBI_REGIO ONLINE_AFFINITAET REGIOTYP ... CAMEO_DEU_2015_2A CAMEO_DEU_2015_2B CAMEO_DEU_2015_2C CAMEO_DEU_2015_2D CAMEO_DEU_2015_3A CAMEO_DEU_2015_3B CAMEO_DEU_2015_3C CAMEO_DEU_2015_3D CAMEO_DEU_2015_4A CAMEO_DEU_2015_4B CAMEO_DEU_2015_4C CAMEO_DEU_2015_4D CAMEO_DEU_2015_4E CAMEO_DEU_2015_5A CAMEO_DEU_2015_5B CAMEO_DEU_2015_5C CAMEO_DEU_2015_5D CAMEO_DEU_2015_5E CAMEO_DEU_2015_5F CAMEO_DEU_2015_6A CAMEO_DEU_2015_6B CAMEO_DEU_2015_6C CAMEO_DEU_2015_6D CAMEO_DEU_2015_6E CAMEO_DEU_2015_6F CAMEO_DEU_2015_7A CAMEO_DEU_2015_7B CAMEO_DEU_2015_7C CAMEO_DEU_2015_7D CAMEO_DEU_2015_7E CAMEO_DEU_2015_8A CAMEO_DEU_2015_8B CAMEO_DEU_2015_8C CAMEO_DEU_2015_8D CAMEO_DEU_2015_9A CAMEO_DEU_2015_9B CAMEO_DEU_2015_9C CAMEO_DEU_2015_9D CAMEO_DEU_2015_9E CAMEO_WEALTH_1.0 CAMEO_WEALTH_2.0 CAMEO_WEALTH_3.0 CAMEO_WEALTH_4.0 CAMEO_WEALTH_5.0 CAMEO_LIFESTAGE_1.0 CAMEO_LIFESTAGE_2.0 CAMEO_LIFESTAGE_3.0 CAMEO_LIFESTAGE_4.0 CAMEO_LIFESTAGE_5.0 GEBAEUDETYP_5.0
Dimension 1 0.0799 -0.0721 0.0130 -0.0145 0.0145 0.1083 0.0246 -0.0906 -0.0059 0.1071 -0.0867 -0.0470 -0.0853 -0.0605 -0.0710 -0.0119 -0.0002 0.0331 0.0883 0.1074 -0.0184 -0.0126 -0.0126 -0.0371 -0.0166 -0.0366 -0.0352 -0.0435 -0.0482 -0.0224 -0.0248 -0.0333 -0.0363 -0.0436 -0.0201 -0.0449 -0.0150 -0.0110 0.0006 -0.0144 -0.0127 0.0039 -0.0021 -0.0057 0.0062 -0.0098 0.0003 0.0009 0.0109 0.0025 ... -0.1124 0.0955 -0.0581 0.0418 0.0229 -0.0579 0.1416 0.0456 -0.0456 -0.1732 0.1149 0.1707 0.1659 0.1616 -0.1279 0.0308 0.0588 0.0983 -0.0044 0.0211 -0.0395 0.0458 0.0372 0.0211 0.0363 -0.0470 0.0507 0.0711 0.0607 0.0667 0.0180 0.0494 -0.0391 -0.0227 0.0013 0.0313 -0.0289 0.0024 -0.0024 -0.0250 0.0129 -0.0526 -0.0542 0.0493 -0.0965 -0.0477 -0.0039 0.0302 0.0703 0.0370
Dimension 2 0.0549 0.2264 -0.1814 -0.0365 0.0365 0.0381 0.0227 -0.0678 0.0067 0.0423 -0.0345 0.0024 -0.0206 -0.0150 -0.0334 -0.0051 0.0116 0.0092 0.0318 0.0111 -0.0012 0.0001 0.0019 0.0021 0.0029 -0.0184 -0.0097 -0.0100 -0.0053 -0.0126 -0.0143 -0.0125 0.0018 -0.0274 -0.0118 -0.0186 -0.0026 0.0014 -0.0032 -0.0115 -0.0120 0.0091 0.0028 0.0035 -0.0014 -0.0058 0.0050 0.0069 0.0239 0.0113 ... -0.0013 -0.0012 0.0669 -0.0451 -0.0472 -0.1556 0.0529 0.0204 -0.0204 -0.0533 0.0372 0.0542 0.0510 0.0472 -0.0422 0.0067 0.0065 0.0382 0.1530 0.0229 0.1744 -0.1294 0.0524 0.0743 -0.1618 0.1562 -0.1244 -0.2028 -0.1638 -0.2098 -0.0610 -0.2004 -0.0177 -0.0489 -0.0190 -0.0025 0.0761 0.0020 -0.0020 -0.0173 0.0240 0.0536 -0.0365 0.1248 -0.0515 -0.0258 0.1924 -0.1064 -0.0946 0.0229
Dimension 3 0.0362 0.0098 -0.0257 0.3080 -0.3080 0.0237 0.0170 0.0180 0.0172 0.0440 -0.0714 0.0324 0.0132 -0.0239 -0.0402 0.0029 -0.0143 -0.0007 0.0149 0.0253 0.0104 0.0059 0.0115 0.0233 0.0181 0.0024 -0.0046 0.0029 0.0188 -0.0071 -0.0117 -0.0129 -0.0146 -0.0307 -0.0133 -0.0244 -0.0009 -0.0018 0.0010 -0.0105 -0.0138 0.0221 0.0019 0.0021 -0.0009 -0.0179 -0.0018 0.0001 0.0007 -0.0004 ... 0.1204 -0.1050 0.0082 0.0288 -0.0258 -0.0003 0.0935 -0.0053 0.0053 -0.0569 0.0481 0.0649 0.0636 0.0634 -0.0389 0.0240 -0.0342 0.0476 0.0665 -0.2376 -0.1857 0.2297 -0.2732 -0.2318 0.2197 0.0193 0.0774 -0.0200 -0.1335 0.1005 0.2320 -0.0108 0.2851 0.1040 0.0396 -0.0811 -0.0362 -0.0005 0.0005 -0.0166 0.0286 0.0164 -0.0727 0.0489 0.1104 0.0005 -0.0443 -0.0543 -0.0216 0.0416
Dimension 4 0.0313 -0.0244 0.0552 -0.1442 0.1442 0.0181 0.0278 0.1114 0.0291 0.0589 -0.1374 0.0877 0.0574 -0.0435 -0.0547 0.0162 -0.0294 -0.0067 0.0066 0.0066 0.0328 0.0220 0.0314 0.0593 0.0425 0.0224 -0.0051 0.0186 0.0608 -0.0057 -0.0180 -0.0224 -0.0322 -0.0501 -0.0208 -0.0275 0.0033 -0.0011 0.0062 -0.0152 -0.0180 0.0444 0.0081 0.0058 -0.0012 -0.0343 0.0001 -0.0008 -0.0049 -0.0041 ... 0.2417 -0.2359 -0.0200 0.0007 0.0109 0.0938 0.1764 -0.0470 0.0470 -0.0647 0.0776 0.0957 0.0878 0.0754 -0.0300 0.0611 -0.0822 0.0789 -0.0167 0.1622 0.0620 -0.1005 0.1627 0.0842 -0.1060 0.0090 -0.0247 0.0161 0.0766 -0.0407 -0.0763 0.0269 -0.1188 -0.0624 -0.0376 0.0258 0.0579 -0.0034 0.0034 -0.0123 0.0019 0.0164 -0.1771 -0.0952 0.0252 0.0814 -0.0312 0.0072 -0.0055 -0.0368
Dimension 5 0.0241 0.0474 0.0764 0.0260 -0.0260 0.0388 -0.0037 0.2607 -0.0015 0.0612 0.0113 -0.0615 -0.0584 -0.0068 0.0032 -0.0303 -0.0071 -0.0027 0.0511 0.0660 -0.0314 -0.0199 -0.0200 -0.0359 -0.0243 -0.0105 -0.0045 -0.0171 -0.0642 0.0010 0.0133 -0.0203 0.0041 0.0166 0.0108 -0.0085 -0.0107 -0.0027 -0.0119 0.0026 0.0031 -0.0410 -0.0100 -0.0079 0.0071 -0.0101 -0.0141 -0.0028 0.0127 -0.0016 ... -0.1235 0.1265 -0.0015 0.0239 -0.0081 0.0882 0.0080 0.0952 -0.0952 -0.0676 -0.0012 0.0471 0.0627 0.0694 -0.1038 -0.0587 0.1027 0.0315 0.0172 -0.0260 0.0315 -0.0095 -0.0061 -0.0545 0.0101 0.0148 -0.0406 -0.0374 -0.0485 -0.0324 0.0142 -0.0593 0.0269 0.0131 -0.0400 0.0263 0.0155 -0.0051 0.0051 -0.0077 0.0165 0.0805 0.0531 -0.1904 -0.0136 0.0104 0.0172 0.0476 -0.0672 -0.0201
Dimension 6 0.0174 0.0012 -0.0025 0.0008 -0.0008 -0.0424 0.0078 0.0472 0.0197 -0.0159 0.0071 0.0000 -0.0922 -0.0733 -0.1530 0.0861 0.3546 0.1520 -0.0544 -0.1906 0.0278 -0.0123 -0.0106 -0.0130 0.0003 -0.0524 0.0044 -0.0548 -0.0666 -0.0032 -0.0010 -0.0650 -0.0421 -0.0964 -0.0044 -0.1085 -0.0412 -0.0226 0.0388 0.0143 0.0626 0.0445 0.0126 0.0237 0.0526 0.2971 0.0927 0.0508 0.1200 0.0639 ... -0.0156 0.0155 0.0100 -0.0140 0.0009 0.0196 -0.0263 -0.0121 0.0121 -0.0161 0.0510 0.0130 -0.0172 -0.0250 0.0365 0.0280 -0.0433 -0.0059 -0.0059 -0.0157 -0.0130 0.0053 -0.0197 -0.0188 -0.0131 0.0293 0.0236 -0.0123 -0.0033 -0.0017 0.0007 0.0039 0.0136 0.0084 0.0034 -0.0247 0.0152 -0.0002 0.0002 0.0169 -0.0168 0.0075 -0.0034 -0.0138 -0.0158 -0.0223 0.0071 0.0223 -0.0065 -0.0051
Dimension 7 0.0157 0.0181 0.0133 0.0087 -0.0087 0.0209 0.0417 0.0450 0.0220 -0.1087 -0.0258 -0.1405 -0.2597 0.1367 0.2416 0.1882 -0.0756 -0.0266 -0.0408 -0.0304 -0.0843 -0.0367 -0.0370 -0.0879 -0.0440 -0.0854 -0.1466 -0.1294 -0.1388 0.0166 0.0190 0.1232 0.0646 0.1466 0.0426 0.1531 0.0733 0.0458 0.0704 0.0789 0.0438 0.1371 0.0502 0.0446 0.0156 -0.0818 -0.0033 0.0124 -0.0358 -0.0198 ... 0.0106 -0.0228 -0.0298 0.0262 -0.0066 -0.0038 0.0070 -0.2117 0.2117 0.0088 0.0681 0.0053 -0.0095 -0.0164 0.0749 0.0861 -0.0325 -0.0077 0.0207 -0.0109 0.0030 0.0086 -0.0181 -0.0104 -0.0164 0.0289 -0.0082 -0.0105 -0.0211 -0.0067 -0.0003 -0.0231 0.0072 0.0126 -0.0116 -0.0176 0.0065 -0.0020 0.0020 -0.0321 0.0204 0.0126 -0.0137 -0.0202 -0.0135 -0.0558 0.0256 0.0192 -0.0178 -0.0007
Dimension 8 0.0149 0.0054 0.0549 0.0097 -0.0097 0.0249 0.0446 -0.0313 0.0392 -0.0742 -0.0294 -0.0099 0.1011 -0.1664 -0.0752 0.3238 -0.0632 -0.0011 -0.0737 0.0449 0.0134 0.0047 0.0080 -0.0304 -0.0101 0.0662 0.0510 0.0386 0.0466 -0.0186 -0.0113 -0.0818 -0.1529 -0.0053 -0.0150 -0.0653 -0.0339 -0.0443 0.1451 0.1507 0.1369 0.1676 0.0742 0.0636 0.0468 -0.0364 -0.0246 0.0125 -0.0767 -0.0401 ... -0.0427 0.0546 -0.0057 0.0399 -0.0159 0.0145 0.0065 -0.0687 0.0687 -0.0040 -0.0166 -0.0130 0.0190 0.0379 -0.0063 0.0102 -0.0253 -0.0313 0.0471 0.0716 0.0220 -0.0031 0.0349 0.0695 -0.0035 -0.0428 0.0115 0.0053 0.0118 -0.0267 -0.0219 0.0164 -0.0142 -0.0872 0.0637 0.0756 -0.0593 -0.0055 0.0055 -0.0549 0.0663 -0.0176 0.0307 -0.0929 -0.0145 0.0285 -0.0310 0.0259 -0.0749 0.0911
Dimension 9 0.0147 -0.0124 -0.0279 -0.0247 0.0247 0.0585 0.0804 -0.0097 0.0638 0.0776 0.0428 0.0496 -0.0402 0.1059 -0.0756 0.2168 -0.0638 -0.1002 0.0053 -0.0308 0.0074 0.0016 0.0232 0.0366 0.0402 -0.0420 -0.0106 -0.0019 -0.0255 -0.0005 -0.0026 0.0376 0.1214 -0.0695 -0.0257 -0.0342 -0.0169 0.0114 0.0897 0.0697 0.0720 0.1432 0.0493 0.0739 0.0164 -0.1218 -0.0378 0.0531 0.0554 0.0091 ... 0.0309 -0.0286 0.0601 -0.0760 0.0121 0.0226 -0.0476 0.3414 -0.3414 -0.0517 -0.1043 -0.0043 0.0436 0.0841 -0.1497 -0.1394 -0.1276 -0.0439 -0.0554 -0.0333 -0.0121 -0.0052 -0.0242 -0.0350 -0.0201 0.0198 0.0249 -0.0234 0.0144 -0.0002 0.0174 0.0327 0.0078 0.0161 0.0020 -0.0650 0.0638 -0.0078 0.0078 0.0868 -0.0773 -0.0009 0.0770 0.0303 0.0170 0.0248 -0.0144 -0.0210 0.0437 -0.0272
Dimension 10 0.0144 -0.0199 0.0251 0.0011 -0.0011 -0.0455 -0.0291 -0.0633 -0.0177 0.1261 -0.0536 -0.0499 -0.2164 0.1936 0.0903 -0.1094 0.0735 0.0655 -0.0167 -0.0703 -0.0372 -0.0270 -0.0226 -0.0166 -0.0063 -0.0931 -0.0816 -0.1017 -0.1337 0.0634 0.0489 0.0932 0.1465 0.0071 0.0311 0.0787 0.0344 0.0421 -0.0368 -0.0747 -0.0506 -0.0435 -0.0287 -0.0185 -0.0080 0.0476 0.0209 0.0071 0.0522 0.0320 ... 0.0666 -0.0340 0.0411 -0.0034 -0.0139 0.0489 0.0845 0.1211 -0.1211 -0.0540 0.0119 0.0355 0.0319 0.0522 -0.0966 -0.0813 0.0029 0.0694 0.0182 0.0912 0.0065 -0.0098 0.0539 0.0636 0.0167 -0.0611 0.0240 0.0257 0.0296 -0.0135 -0.0155 0.0328 -0.0122 -0.0825 0.0551 0.0828 -0.0452 -0.0006 0.0006 -0.0138 0.0390 -0.0304 -0.0593 -0.0846 -0.0328 0.0478 -0.0617 0.0677 -0.0697 0.0833
Dimension 11 0.0134 0.0082 0.0447 -0.0078 0.0078 0.1126 0.1034 0.0291 0.0973 -0.1197 0.0125 0.0379 0.0813 0.0379 0.0367 -0.2666 -0.1021 0.1577 -0.0026 -0.0019 0.0207 0.0159 0.0339 0.0004 0.0232 0.0196 0.0229 0.0426 0.0614 0.0014 0.0112 0.0616 -0.0108 0.0143 0.0081 0.0327 0.0109 -0.0031 -0.1020 -0.1397 -0.1331 -0.0973 -0.0712 -0.0913 -0.0616 -0.0598 -0.0040 -0.0818 -0.0262 -0.0276 ... -0.0221 0.0136 0.0090 -0.0056 -0.0070 -0.0105 -0.0740 0.0134 -0.0134 0.0157 -0.0647 -0.0406 0.0094 0.0233 0.0464 0.0641 -0.0835 -0.1176 0.0087 0.0083 0.0101 0.0005 -0.0092 0.0109 -0.0292 0.0213 0.0205 -0.0138 0.0059 -0.0175 -0.0088 0.0069 -0.0077 -0.0342 0.0374 -0.0138 0.0049 -0.0130 0.0130 -0.0050 0.0059 0.0042 0.0927 -0.0102 0.0166 0.0115 0.0050 -0.0379 -0.0049 0.0269
Dimension 12 0.0124 0.0058 0.0022 -0.0139 0.0139 0.1277 0.0851 -0.0114 0.0449 -0.0702 -0.0010 0.1315 -0.1305 0.0613 -0.0101 -0.0259 0.1486 -0.1456 -0.2375 0.2488 0.0753 -0.0055 0.0011 0.1121 0.0668 0.0276 0.0139 -0.0985 -0.1459 0.0535 0.0581 -0.0605 0.1041 0.0955 0.0445 -0.1066 -0.0444 0.0351 -0.0205 0.0331 0.0236 -0.0743 -0.0316 0.0249 0.0130 0.1426 -0.0339 0.0486 0.0677 0.0409 ... 0.0155 -0.0337 -0.0321 0.0138 0.0038 -0.0122 0.0006 -0.0668 0.0668 0.0305 -0.0715 -0.0330 0.0274 0.0134 -0.0053 0.0164 0.0609 -0.0399 -0.0181 -0.0133 0.0085 -0.0048 0.0115 -0.0022 -0.0045 0.0327 -0.0248 0.0061 0.0030 0.0099 0.0014 -0.0120 -0.0155 0.0089 -0.0157 -0.0382 0.0315 -0.0097 0.0097 -0.0020 -0.0136 -0.0087 0.0242 0.0588 0.0367 0.0126 0.0007 -0.0311 0.0394 -0.0491
Dimension 13 0.0119 -0.0472 -0.1000 -0.0030 0.0030 0.0404 0.0629 -0.0169 0.0606 -0.0404 -0.0830 0.1266 0.0560 0.1352 -0.0730 -0.0454 0.0558 -0.1722 0.0430 -0.0899 0.0699 0.0494 0.0514 0.0536 0.0564 -0.0264 0.0191 0.0262 0.0667 0.0226 0.0268 0.0974 0.0825 -0.1011 -0.0162 -0.0141 0.0034 0.0024 -0.0446 -0.0687 -0.0142 0.0223 0.0015 -0.0021 -0.0149 0.0233 0.0327 0.0230 0.0458 0.0172 ... -0.1159 0.1150 -0.0704 0.0634 0.0279 0.0505 0.0424 -0.0960 0.0960 0.0218 0.0212 0.0016 -0.0042 -0.0289 0.0799 0.0985 -0.0348 -0.0139 0.0442 0.0403 -0.0418 0.0207 0.0271 0.0332 0.0326 -0.0203 0.0657 0.0558 0.0682 0.0523 -0.0100 0.0809 -0.0122 -0.0206 0.0046 0.0219 -0.0184 -0.0220 0.0220 0.0324 -0.0390 -0.0225 -0.0603 -0.0280 -0.0076 0.0369 -0.0542 0.0621 -0.0755 0.0611
Dimension 14 0.0117 0.0262 -0.0857 -0.0346 0.0346 0.0199 -0.0079 -0.0255 -0.0193 -0.0483 0.0413 -0.0789 -0.0329 -0.0997 0.0553 0.0046 -0.1328 0.2423 -0.0405 0.0721 -0.0574 -0.0364 -0.0339 -0.0189 -0.0306 0.0581 -0.0236 -0.0212 -0.0527 -0.0114 -0.0081 -0.0865 -0.0532 0.1252 0.0012 -0.0230 -0.0106 0.0026 0.0384 0.0481 -0.0047 -0.0466 -0.0181 -0.0073 -0.0088 -0.1014 -0.0590 -0.0388 -0.0349 -0.0232 ... 0.0441 -0.0488 -0.0184 0.0024 0.0001 0.0336 -0.0461 0.0064 -0.0064 -0.0160 -0.0232 -0.0004 0.0240 0.0334 -0.0136 0.0037 0.0148 -0.0396 -0.0120 -0.0315 0.0322 0.0179 0.0038 -0.0207 0.0113 0.0505 0.1181 0.0211 0.0642 0.0358 -0.0191 0.0518 0.0028 -0.0352 0.0014 -0.0405 0.0589 0.0001 -0.0001 0.2674 -0.2780 0.0090 0.0770 -0.0002 0.0169 0.0155 -0.0530 0.0355 -0.0376 0.0428
Dimension 15 0.0116 0.0403 0.0255 0.0312 -0.0312 0.0601 0.0072 -0.0009 -0.0305 -0.0315 0.0686 0.0100 0.0173 -0.0945 0.0606 -0.0822 0.1178 -0.1934 0.0089 0.1039 0.0352 -0.0023 -0.0045 -0.0103 -0.0029 0.0564 0.0106 -0.0236 0.0017 0.0012 -0.0002 -0.0614 -0.0797 0.0959 0.0250 -0.0044 -0.0011 -0.0013 -0.0547 -0.0042 -0.0095 -0.0570 -0.0341 -0.0375 -0.0161 0.1230 0.0168 -0.0006 0.0466 0.0127 ... 0.0579 -0.0527 -0.0066 0.0360 -0.0159 -0.0032 -0.0746 0.0599 -0.0599 0.0045 -0.0111 0.0058 -0.0014 -0.0366 0.0715 0.0881 -0.0672 -0.0471 0.0434 -0.0160 0.0204 0.0104 -0.0414 -0.0118 -0.0060 -0.0105 0.0089 -0.0411 -0.0562 -0.0383 0.0181 -0.0322 0.0331 -0.0321 0.0187 0.0247 -0.0081 0.0023 -0.0023 -0.0017 0.0103 0.0356 0.0549 -0.1466 -0.0561 -0.0143 -0.0054 0.0638 -0.1033 0.0999
Dimension 16 0.0112 -0.0322 -0.0147 -0.0391 0.0391 -0.0486 -0.0364 0.0293 -0.0229 -0.0449 0.0354 0.1177 -0.0709 0.1688 -0.2048 0.0168 -0.0974 -0.0191 0.0999 0.0314 0.0497 0.0208 0.0128 0.0989 0.0538 -0.0179 -0.0182 -0.0375 -0.0541 0.0388 0.0361 0.0657 0.1533 -0.0998 -0.0425 -0.1574 -0.0613 -0.0113 0.0314 0.0018 0.0183 -0.0263 -0.0042 0.0315 0.0011 -0.0760 -0.0676 0.0109 -0.0347 -0.0064 ... -0.0196 0.0183 -0.0855 0.0807 0.0222 -0.0887 -0.0589 -0.0710 0.0710 -0.0120 0.0764 0.0260 -0.0172 -0.0294 0.0974 0.1062 -0.0210 -0.0185 0.0752 0.0308 -0.0066 0.0382 0.0331 0.0029 0.0353 0.0096 0.2177 0.0820 0.1315 0.0715 -0.0353 0.1179 -0.0156 -0.1141 0.0540 0.0342 -0.0066 0.0088 -0.0088 0.2324 -0.2415 0.0684 0.0350 -0.0122 0.0273 0.0077 -0.0284 -0.0829 -0.0458 0.1837
Dimension 17 0.0110 0.0364 0.0580 0.0478 -0.0478 0.0264 0.0047 -0.0040 -0.0432 -0.0614 -0.0016 0.1386 -0.0320 0.1709 -0.2049 0.0367 -0.1919 0.2071 -0.0078 -0.0140 0.0338 0.0294 0.0155 0.1307 0.0727 0.0291 -0.0307 -0.0232 -0.0275 0.0240 0.0348 0.0518 0.1774 -0.0688 -0.0721 -0.1674 -0.0741 -0.0032 0.0542 0.0335 0.0063 -0.0331 -0.0042 0.0462 -0.0150 -0.1953 -0.0930 0.0035 -0.0064 -0.0049 ... -0.0222 0.0246 0.0533 -0.0265 -0.0270 0.0714 -0.0212 -0.0315 0.0315 0.0274 -0.0186 -0.0087 0.0003 -0.0271 0.1012 0.1240 0.0281 -0.0582 -0.0277 -0.0244 0.0095 -0.0284 -0.0374 0.0130 -0.0410 0.0155 -0.1585 -0.0880 -0.1256 -0.0817 0.0408 -0.1045 0.0257 0.0346 0.0157 -0.0254 -0.0044 0.0154 -0.0154 -0.2452 0.2581 -0.0409 0.0032 -0.0570 -0.0311 -0.0066 0.0220 0.0723 -0.0035 -0.1007
Dimension 18 0.0105 0.0033 -0.0061 -0.0076 0.0076 0.1637 0.0564 -0.0039 -0.1316 -0.0291 -0.1133 -0.1573 0.1754 0.0788 -0.0115 0.0019 0.0644 0.1075 -0.2992 0.0546 -0.1017 -0.0264 -0.0378 -0.0856 -0.0746 0.0296 0.0288 0.0981 0.1494 -0.0091 -0.0086 0.0909 0.0339 -0.0567 -0.0323 0.0349 0.0235 0.0003 -0.0108 -0.0280 -0.0315 0.0443 0.0258 0.0068 -0.0010 -0.0225 0.0747 0.0263 0.0913 0.0290 ... -0.0521 0.0446 -0.0178 0.0165 0.0112 0.0042 0.0640 0.0300 -0.0300 0.0151 -0.0976 -0.0177 0.0549 0.0313 -0.0134 0.0389 -0.0430 -0.0594 0.0192 -0.0132 0.0072 0.0112 0.0095 -0.0306 -0.0011 0.0292 0.0363 -0.0019 0.0226 0.0125 0.0221 0.0373 0.0171 -0.0200 0.0194 -0.0858 0.0884 0.0664 -0.0664 0.1141 -0.1131 0.0069 -0.0313 -0.0467 0.0107 -0.0373 -0.0270 0.0450 -0.0313 0.0198
Dimension 19 0.0104 0.0991 0.0501 0.0003 -0.0003 0.0129 0.0179 -0.0467 0.0038 -0.0348 0.0231 -0.0330 -0.0027 -0.0141 -0.0139 0.0019 -0.0039 -0.0898 0.2684 -0.1648 -0.0106 -0.0135 -0.0119 -0.0213 -0.0153 -0.0182 0.0232 0.0015 -0.0093 0.0189 0.0492 -0.0157 -0.0344 -0.0163 0.0262 -0.0131 -0.0068 -0.0047 -0.0004 -0.0140 0.0297 -0.0095 0.0003 0.0018 -0.0089 0.0174 -0.0020 -0.0069 -0.0259 -0.0052 ... -0.0024 -0.0041 0.0803 -0.0739 -0.0480 0.0758 -0.0093 -0.0684 0.0684 -0.0044 0.0178 0.0028 0.0064 0.0160 -0.0229 -0.0232 0.0180 0.0104 -0.0707 -0.0805 0.0414 -0.0219 -0.0279 -0.0725 -0.0396 0.1041 -0.0343 -0.0863 -0.0799 -0.0532 0.0187 -0.0753 0.0440 0.0321 -0.0739 -0.1009 0.1613 -0.0046 0.0046 0.1952 -0.1943 -0.0425 0.0069 -0.0858 0.0081 -0.0468 -0.0098 0.1068 -0.0145 -0.1121
Dimension 20 0.0102 -0.0233 -0.0203 -0.0067 0.0067 -0.0341 0.0355 -0.0018 0.0551 0.0500 -0.0776 0.3284 -0.0812 -0.2591 0.2321 -0.0528 -0.0585 0.0675 -0.0303 -0.0541 0.1634 0.1039 0.1111 0.1806 0.1508 0.0092 -0.0342 -0.0568 -0.0608 -0.1079 -0.0988 -0.2014 -0.0949 0.1869 0.0329 0.1117 0.0491 0.0724 -0.0400 0.0112 -0.0596 -0.0126 -0.0246 -0.0008 -0.0280 -0.1013 -0.0212 0.0137 0.0557 0.0312 ... -0.0724 0.0798 -0.0076 0.0106 0.0132 0.0064 0.0868 -0.0282 0.0282 -0.0008 0.0162 0.0030 -0.0019 0.0217 -0.1249 -0.1580 -0.0362 0.0848 0.0128 0.0152 -0.0060 -0.0018 0.0116 0.0072 0.0072 -0.0143 0.0343 0.0090 0.0308 0.0094 0.0056 0.0394 0.0052 -0.0157 0.0316 -0.0391 0.0273 0.0047 -0.0047 0.0172 -0.0117 0.0106 -0.0792 -0.0296 -0.0151 -0.0002 -0.0140 0.0335 -0.0245 0.0168
Dimension 21 0.0100 0.0312 0.0189 -0.0084 0.0084 -0.0712 -0.0342 0.0102 -0.0092 0.0332 -0.0517 -0.0841 0.0864 0.1708 -0.1377 -0.0510 -0.0304 -0.0647 -0.1115 0.2016 0.0177 -0.0154 -0.0227 -0.1110 -0.0410 -0.0112 0.1155 0.0298 0.0360 0.0812 0.0951 0.1156 0.0624 -0.1072 0.0246 -0.0857 -0.0338 -0.0466 -0.0117 -0.0542 0.0137 -0.0108 -0.0279 -0.0470 -0.0053 0.0644 -0.0345 -0.0507 -0.0978 -0.0416 ... 0.0091 -0.0189 -0.0446 0.0319 0.0012 0.0235 0.0398 -0.0961 0.0961 -0.0255 0.0591 0.0032 -0.0161 0.0500 -0.1812 -0.2410 0.1188 0.0865 0.0120 -0.0288 0.0283 -0.0108 0.0062 0.0186 -0.0131 0.0678 -0.0192 -0.0081 -0.0198 -0.0055 -0.0211 -0.0399 -0.0069 -0.0057 0.0130 -0.0082 -0.0195 0.0059 -0.0059 -0.0192 0.0034 0.0095 0.0235 -0.0016 -0.0178 -0.0298 0.0187 0.0367 -0.0127 -0.0326
Dimension 22 0.0096 0.0218 -0.0315 0.0243 -0.0243 -0.0279 -0.0046 -0.0867 0.0349 0.0102 0.0130 0.1162 -0.0724 0.0201 0.0014 -0.0047 -0.0389 0.0438 -0.0868 0.0727 0.0842 0.0428 0.0474 0.0436 0.0333 -0.0891 -0.0098 -0.0270 -0.0262 0.0065 0.0048 0.0386 -0.0137 -0.0556 0.0192 0.0373 0.0112 -0.0068 -0.0062 -0.0372 0.0494 -0.0044 0.0023 -0.0165 -0.0065 0.0101 -0.0119 -0.0293 -0.0615 -0.0284 ... 0.0120 -0.0084 0.0125 -0.0110 0.0028 0.0115 -0.0016 -0.0026 0.0026 0.0143 0.0008 -0.0151 -0.0235 -0.0199 0.0076 -0.0187 -0.0262 0.0115 0.0009 -0.0225 -0.0032 0.0060 -0.0289 -0.0147 0.0026 -0.0004 -0.0195 -0.0233 -0.0268 -0.0113 0.0006 -0.0216 0.0179 0.0318 -0.0316 0.0190 -0.0086 0.0867 -0.0867 -0.0046 0.0088 -0.0398 -0.0076 -0.0563 -0.0052 -0.0669 0.0010 0.0587 -0.0330 -0.0074
Dimension 23 0.0094 0.0120 -0.0156 0.0089 -0.0089 -0.0593 -0.0174 -0.0158 0.0576 0.0641 0.0023 -0.0409 0.0321 0.0220 -0.0387 0.0025 0.0196 0.0991 -0.1293 0.0497 -0.0447 -0.0069 0.0023 -0.0226 -0.0035 0.0179 -0.0320 0.0222 0.0413 -0.0243 -0.0270 0.0230 0.0318 -0.0279 -0.0430 -0.0128 0.0044 -0.0045 -0.0239 0.0124 -0.0089 0.0095 0.0143 0.0088 -0.0000 -0.0246 0.0341 0.0273 0.0287 0.0235 ... -0.0060 0.0049 0.0195 -0.0196 -0.0097 0.0002 0.0235 0.0097 -0.0097 0.0079 0.0327 0.0112 -0.0260 -0.0417 0.0390 0.0235 0.0648 0.0411 -0.0005 -0.0152 0.0107 0.0039 -0.0037 -0.0132 0.0157 0.0115 0.0140 -0.0023 -0.0041 0.0054 0.0030 -0.0088 0.0166 0.0062 0.0011 -0.0044 -0.0023 -0.6147 0.6147 0.0317 -0.0317 0.0145 -0.0466 -0.0076 -0.0507 0.0990 -0.0037 0.0149 -0.0188 0.0031
Dimension 24 0.0091 0.0313 -0.0012 0.0075 -0.0075 -0.1076 -0.0065 0.0149 0.1579 0.0952 0.0439 0.1120 -0.0821 -0.0023 -0.0259 0.0299 0.0088 0.1729 -0.2386 0.1126 0.0566 0.0618 0.0765 0.0242 0.0485 -0.0996 -0.0778 -0.0081 -0.0032 -0.0181 -0.0167 0.0430 -0.0317 -0.1133 -0.0281 0.0671 0.0262 -0.0232 -0.0161 -0.0184 0.0054 0.0588 0.0376 0.0029 0.0035 -0.0029 0.0570 0.0050 -0.0298 -0.0062 ... -0.0054 -0.0107 -0.0177 -0.0069 0.0070 -0.0089 -0.0016 0.0536 -0.0536 0.0046 0.0586 0.0157 -0.0512 -0.0750 0.0826 0.0536 0.0516 0.0471 -0.0004 -0.0258 0.0249 0.0080 -0.0125 -0.0334 0.0155 0.0247 0.0299 -0.0063 -0.0025 0.0115 -0.0071 -0.0291 0.0125 0.0068 -0.0215 -0.0013 0.0014 0.2480 -0.2480 0.0622 -0.0767 0.0213 -0.0405 -0.0164 -0.0251 -0.0389 0.0179 0.0346 -0.0221 -0.0033
Dimension 25 0.0090 0.0421 0.0537 0.0038 -0.0038 0.0542 0.0064 0.0186 -0.0702 -0.0611 0.0100 0.2623 -0.1871 -0.0358 0.0896 0.0335 -0.0669 -0.0279 -0.0552 0.0764 0.2254 0.1030 0.0993 0.0937 0.0326 -0.1886 -0.0077 -0.0680 -0.1060 0.0572 0.0584 0.0524 -0.1558 -0.0892 0.1065 0.1388 0.0545 -0.0236 0.0582 -0.0852 0.0737 0.0411 0.0156 -0.0452 -0.0059 0.0587 -0.0383 -0.0830 -0.1214 -0.0932 ... -0.0190 0.0203 0.0466 -0.0314 -0.0238 0.0077 -0.0369 0.0498 -0.0498 -0.0254 -0.0253 0.0070 0.0372 0.0346 0.0238 0.0660 -0.1595 -0.0696 -0.0254 -0.0118 0.0145 0.0017 -0.0245 -0.0095 -0.0451 0.0229 0.0042 -0.0590 -0.0330 -0.0453 0.0085 -0.0307 0.0098 -0.0167 0.0055 -0.0252 0.0456 -0.1843 0.1843 0.0527 -0.0444 -0.0300 0.0458 -0.0276 -0.0102 0.0304 0.0247 -0.0496 0.0686 -0.0446
Dimension 26 0.0088 -0.0615 -0.0702 -0.0062 0.0062 0.1574 0.0811 0.0104 -0.0047 -0.0790 0.0342 0.0631 -0.0642 -0.0103 -0.0284 0.0377 -0.0338 0.1195 0.0571 -0.1043 0.0208 0.0262 0.0166 0.0570 0.0089 -0.1023 0.0047 0.0003 -0.0360 0.0040 0.0369 -0.0084 -0.0244 -0.0987 0.0247 0.0396 -0.0131 -0.0073 -0.0033 0.0040 0.0701 -0.0224 0.0334 0.0340 0.0006 -0.0073 -0.0125 -0.0008 -0.0439 -0.0205 ... 0.0340 -0.0682 -0.2038 0.1393 0.0951 -0.0819 -0.0588 -0.1188 0.1188 0.1266 -0.1542 -0.1557 -0.0826 -0.0748 -0.1708 -0.3248 0.0716 -0.0200 0.0751 -0.0046 -0.0318 0.0220 -0.0023 0.0136 0.0420 -0.0361 -0.0257 0.0980 0.0503 0.0834 0.0003 0.0376 -0.0406 0.0558 -0.0476 0.0137 -0.0593 -0.0559 0.0559 -0.1266 0.0867 0.0900 0.0558 0.0040 -0.0067 -0.0552 -0.0203 0.0729 -0.1306 0.1041
Dimension 27 0.0082 -0.0750 -0.1112 -0.0300 0.0300 -0.0059 0.0293 -0.0308 0.0429 0.0711 0.0386 -0.0540 -0.0186 -0.0465 0.0402 -0.0079 -0.0045 -0.0384 0.0575 0.0284 -0.0201 -0.0291 -0.0057 -0.0395 -0.0205 -0.0179 0.0000 -0.0098 -0.0093 -0.0030 -0.0179 -0.0444 -0.0158 0.0108 0.0188 0.0279 0.0263 0.0006 0.0104 -0.0281 -0.0155 0.0229 -0.0046 -0.0150 0.0067 0.0229 0.0026 -0.0277 -0.0349 -0.0122 ... 0.0177 -0.0597 -0.3231 0.1861 0.2055 -0.0664 0.0071 0.1374 -0.1374 -0.0654 0.0294 0.0620 0.0584 0.0489 0.1116 0.2125 -0.0699 0.0144 0.0403 0.0061 -0.0559 0.0329 -0.0007 0.0155 0.0026 0.0112 -0.0280 0.0698 0.0591 0.0915 -0.0177 0.0646 -0.0677 0.1043 0.0254 -0.1032 -0.0828 -0.0301 0.0301 -0.2328 0.1729 0.0620 -0.0099 0.0281 0.0286 -0.0331 -0.0105 0.0579 -0.0989 0.0189
Dimension 28 0.0080 0.0269 -0.0330 0.0048 -0.0048 0.0987 0.0997 -0.0209 0.0313 0.0461 0.0508 -0.0541 -0.0434 -0.1914 0.0544 -0.0076 0.0758 -0.0155 0.0254 0.1007 -0.1081 -0.0099 -0.0267 0.0365 -0.0074 -0.1185 -0.0419 0.0453 0.0022 -0.0854 -0.0735 -0.1595 -0.0565 -0.1200 0.0079 0.1386 0.0332 0.0601 0.0230 -0.0889 0.0232 -0.0133 0.0228 0.0445 0.0286 0.0022 0.0451 0.0669 0.0505 0.0421 ... 0.0351 -0.0295 0.0332 0.0128 -0.0489 0.0146 -0.0239 -0.0441 0.0441 0.0123 0.0074 -0.0096 -0.0105 -0.0324 0.0910 0.1117 0.2036 0.0454 -0.0360 -0.0117 0.0651 0.0027 0.0162 0.0749 0.0160 0.0491 0.0054 0.0058 -0.0291 -0.0261 0.0381 -0.0266 0.0150 -0.1486 0.1903 -0.0746 0.0180 0.0141 -0.0141 -0.0492 0.0628 -0.0532 0.0425 0.0095 -0.0872 0.0340 -0.0257 0.0723 0.0267 -0.0088
Dimension 29 0.0077 -0.0843 -0.0462 -0.0240 0.0240 0.0904 0.1229 0.0209 0.1590 0.0713 -0.0730 -0.0546 0.0370 0.0023 0.0800 0.0487 -0.1143 0.0616 0.0103 -0.0638 0.0590 -0.0455 -0.0316 -0.0859 -0.0271 0.0287 0.1228 -0.0204 -0.0289 0.1181 0.0942 -0.0713 -0.0165 0.0050 0.1276 0.0294 0.0331 0.0251 0.0377 -0.0381 0.1051 0.0021 0.0100 -0.0034 -0.0588 0.0330 -0.1485 -0.0615 -0.0793 -0.0636 ... 0.0017 0.0231 0.2970 -0.2651 -0.1032 -0.0065 0.0928 0.0343 -0.0343 0.0193 -0.0614 0.0013 0.0319 -0.0070 0.0910 0.1576 0.1793 0.0206 0.0077 0.0092 -0.0508 -0.0067 0.0372 -0.0388 0.0416 -0.0700 -0.0103 0.0627 0.0726 0.0440 -0.0094 0.0852 -0.0149 0.1311 -0.1217 0.0908 -0.0333 0.0232 -0.0232 0.0141 0.0239 0.1344 -0.0644 0.0672 0.0337 0.0927 -0.0752 -0.0282 -0.0235 0.0921
Dimension 30 0.0075 0.0162 -0.0077 -0.0018 0.0018 0.0924 0.2200 -0.0152 0.2738 -0.0183 0.0804 -0.0208 -0.0808 0.1037 -0.1510 -0.0043 -0.0198 0.1090 0.0801 -0.0232 0.0225 -0.0057 0.0630 -0.0985 0.0115 0.0682 -0.0466 -0.0551 -0.0893 0.0779 0.0748 0.1338 -0.0456 0.0531 -0.0486 -0.1670 -0.0660 -0.1186 -0.1079 0.0650 -0.0167 0.0813 0.0011 -0.0756 -0.1087 0.0853 0.0407 -0.1051 -0.0783 -0.0472 ... 0.0378 -0.0323 0.0056 0.0207 -0.0131 -0.0145 -0.0451 -0.0217 0.0217 -0.0540 0.0469 0.0398 0.0410 0.0202 -0.0686 -0.0467 -0.0875 0.0314 -0.0379 0.0220 0.0265 0.0079 0.0004 0.0391 -0.0260 0.0136 0.0429 -0.0299 -0.0114 -0.0324 0.0227 0.0165 0.0072 -0.1153 0.1808 -0.0862 0.0075 0.0064 -0.0064 -0.0535 0.0642 -0.0248 0.0159 0.0010 -0.0139 0.0741 -0.0106 -0.0506 0.0681 -0.0070
Dimension 31 0.0074 0.0283 0.0662 0.0216 -0.0216 0.0956 0.1635 0.0170 0.2117 0.0319 -0.0269 -0.0065 -0.0183 -0.0118 -0.0285 -0.0101 0.0468 -0.0356 0.0271 0.0194 -0.0508 -0.0080 0.0340 0.0017 0.0303 -0.0142 -0.0605 0.0265 0.0020 -0.0300 -0.0456 0.0275 -0.0127 -0.0329 -0.0557 0.0255 -0.0140 -0.0219 0.0012 0.0022 -0.0393 0.0091 0.0065 -0.0041 0.0325 -0.0072 0.0433 0.0101 0.0435 0.0224 ... 0.0377 -0.0853 -0.1922 0.1155 0.0564 -0.0421 0.0343 -0.0328 0.0328 0.0243 -0.0398 -0.0215 0.0068 -0.0090 0.0309 0.0499 0.0719 0.0403 0.0472 -0.0292 0.0013 -0.0141 -0.0095 -0.0650 0.0316 0.0079 -0.0954 0.0172 -0.0573 0.0293 -0.0029 -0.1522 0.0073 0.0612 -0.3171 0.1178 0.0976 -0.0220 0.0220 0.1771 -0.2382 0.0150 -0.0146 -0.0396 -0.0124 -0.0595 0.1602 0.0001 -0.0615 -0.1488
Dimension 32 0.0074 -0.0637 -0.0030 -0.0230 0.0230 0.0344 0.1448 -0.0016 0.1705 -0.1054 0.0799 -0.1052 0.0048 -0.0562 -0.0049 -0.0520 0.1081 -0.1050 -0.0148 0.1499 -0.1731 -0.0551 -0.0163 -0.0060 0.0493 -0.0322 -0.0884 0.0500 0.0481 -0.0681 -0.0461 -0.0151 -0.0194 -0.0417 -0.0516 0.0424 0.0001 0.0245 0.0277 -0.0629 -0.0947 0.0136 -0.0204 0.0112 0.0757 -0.0254 0.1007 0.0610 0.0823 0.0693 ... -0.0101 0.0418 0.2345 -0.1840 -0.0824 -0.0100 -0.1038 -0.0802 0.0802 -0.0125 0.0488 -0.0080 -0.0227 0.0020 -0.0751 -0.1253 -0.2244 -0.0539 -0.0169 0.0379 -0.0703 -0.0037 -0.0202 -0.0131 -0.0326 -0.0772 0.0737 0.0008 0.0725 -0.0044 -0.0449 0.1014 -0.0352 0.0886 -0.0373 0.0786 -0.0700 -0.0000 0.0000 -0.0598 0.1025 0.0392 0.0567 -0.0220 0.1044 0.0359 -0.0384 -0.1449 0.0652 0.0635
Dimension 33 0.0071 0.0661 0.0347 0.0293 -0.0293 -0.0207 0.0851 0.0035 0.2147 -0.0152 -0.0142 -0.1434 0.1559 -0.0065 0.1419 0.0187 -0.0975 -0.0071 -0.0345 -0.0530 -0.0229 -0.1247 -0.0786 -0.1110 0.0118 0.0035 0.1810 0.0147 0.0977 0.0639 0.0397 -0.1527 0.0990 0.0041 0.1455 0.0797 0.0483 0.0933 0.0476 -0.0980 0.0684 0.0097 -0.0270 0.0459 0.0078 -0.0303 -0.1674 -0.0001 -0.0151 -0.0153 ... -0.0222 0.0026 -0.2379 0.2086 0.1002 -0.0160 0.0061 0.0455 -0.0455 0.0207 -0.0141 -0.0158 -0.0260 -0.0189 -0.0113 -0.0445 -0.0971 -0.0324 0.0236 0.0041 0.0513 0.0174 -0.0216 0.0420 -0.0306 0.0659 0.0667 -0.0722 -0.0454 -0.0388 0.0287 -0.0543 0.0323 -0.1728 0.2242 -0.1429 0.0274 0.0040 -0.0040 -0.0053 -0.0200 -0.0450 -0.0358 -0.0417 -0.0699 0.0326 0.0726 -0.0430 0.0388 -0.0298
Dimension 34 0.0070 0.0452 -0.0287 0.0088 -0.0088 -0.0178 0.0202 0.0036 0.1863 -0.0463 -0.0565 0.0654 0.0311 0.0674 -0.0135 -0.0073 0.0284 -0.1569 0.0012 0.0002 0.0288 0.0535 0.0690 -0.0055 0.0266 -0.0043 -0.0262 0.0370 0.0384 -0.0430 -0.0337 0.1049 0.0281 0.0458 -0.0661 -0.0069 -0.0076 -0.0515 0.0907 0.0077 -0.0731 -0.0193 0.0091 -0.0404 0.0936 -0.0399 0.0480 -0.0144 0.0460 -0.0057 ... 0.0072 -0.0066 0.0689 -0.0396 -0.0697 0.0962 0.0190 0.0245 -0.0245 0.0326 -0.0670 -0.0210 0.0060 0.0049 -0.0048 -0.0023 0.1261 -0.0744 0.0024 -0.0297 0.0324 0.0013 0.0203 0.0174 0.0010 0.0479 -0.1036 -0.0072 -0.0567 -0.0193 0.0469 -0.0012 0.0198 -0.0010 0.0140 -0.0523 0.0460 -0.0031 0.0031 -0.0311 0.0349 -0.0657 0.0260 0.0282 -0.0993 -0.0177 -0.1664 0.3261 -0.1543 0.0770
Dimension 35 0.0068 -0.0264 -0.0727 0.0019 -0.0019 0.0162 0.0433 -0.0358 -0.0442 0.0540 0.0847 -0.1061 0.0680 -0.0302 0.0034 0.0055 -0.1090 0.0739 -0.0034 0.0718 0.0005 -0.0745 -0.0959 -0.0742 -0.0101 -0.0710 0.1596 -0.0405 0.0681 -0.0079 -0.0142 -0.1165 0.0816 -0.0438 0.0866 -0.0088 -0.0256 0.0668 -0.0238 -0.0355 0.0446 0.0194 -0.0285 0.0338 -0.1129 0.0215 -0.1536 -0.0328 -0.0491 -0.0189 ... 0.0209 -0.0100 0.1004 -0.0805 -0.0310 0.0510 -0.0073 -0.0374 0.0374 0.0304 0.0327 -0.0220 -0.0534 -0.0600 0.0295 -0.0233 -0.2002 0.1092 -0.0223 0.0487 -0.0439 -0.0095 -0.0139 -0.0342 -0.0027 -0.1197 -0.0734 0.0058 -0.0139 -0.0103 0.0064 0.0227 -0.0004 0.1015 -0.2240 0.0835 0.0925 -0.0142 0.0142 0.0226 -0.0033 -0.1675 -0.0750 -0.0651 -0.0409 -0.0800 -0.0407 0.1902 -0.1100 -0.0045
Dimension 36 0.0065 0.0373 0.0676 -0.0007 0.0007 -0.0395 -0.0177 0.0635 -0.0656 -0.1402 0.0752 0.0054 0.0285 -0.0270 0.0359 -0.0100 -0.0159 0.0372 -0.0369 -0.0072 0.0205 -0.0028 -0.0064 -0.0063 0.0023 -0.0003 0.0598 0.0154 -0.0086 -0.0155 0.0444 -0.0237 -0.0287 0.0022 0.0655 0.0091 -0.0037 0.0361 -0.0551 -0.0503 0.0156 0.0688 -0.0271 0.0018 -0.0379 -0.0335 -0.0295 0.0320 0.0412 0.0252 ... 0.0081 -0.0484 0.0139 -0.0361 -0.0628 0.0250 -0.0690 -0.0488 0.0488 -0.1185 0.1412 0.1179 0.0901 0.1158 -0.1017 -0.0255 -0.0353 -0.0783 -0.0180 -0.0041 0.0346 -0.0047 0.0037 -0.0288 -0.0455 0.0673 -0.0707 -0.0361 -0.0520 -0.0320 0.0695 -0.0402 0.0046 -0.0416 0.0411 -0.1839 0.1461 -0.0110 0.0110 -0.0681 0.0331 0.0655 0.0512 0.0245 0.1072 -0.0419 -0.1199 0.0629 -0.1110 0.1141
Dimension 37 0.0064 -0.0007 -0.0125 0.0035 -0.0035 -0.0620 -0.0180 -0.0330 0.0895 -0.1140 0.0373 -0.0023 0.0557 -0.0165 0.0498 -0.0164 0.0081 0.0414 -0.0302 -0.0801 0.0247 -0.0221 -0.0057 -0.0131 0.0032 0.0246 0.0583 -0.0104 0.0364 -0.0361 -0.0060 -0.0095 0.0032 0.0564 0.0660 -0.0265 0.0106 0.0461 -0.0677 -0.0399 0.0252 0.0511 -0.0193 -0.0051 -0.0077 -0.0180 -0.0432 0.0748 0.0325 0.0341 ... 0.0293 -0.0551 0.0830 -0.1239 -0.0549 -0.0504 -0.0511 -0.0406 0.0406 -0.0806 0.1064 0.0808 0.0557 0.0856 -0.0676 -0.0192 0.1480 -0.0953 0.0290 -0.0312 0.0008 0.0169 0.0043 0.0022 0.0277 0.0503 0.0451 0.0306 0.0284 0.0481 -0.0231 -0.0219 -0.0108 -0.0060 0.0542 0.0484 -0.1413 -0.0119 0.0119 -0.0361 0.0075 0.0184 0.0670 0.0431 0.0352 -0.0185 0.0511 -0.0743 0.0086 -0.0128
Dimension 38 0.0062 -0.0104 -0.1304 0.0203 -0.0203 0.0430 0.0738 -0.0941 -0.0504 -0.0016 -0.0064 0.0554 0.0374 0.0424 0.0143 0.0256 -0.0542 -0.0619 -0.0085 -0.0191 0.0855 0.0507 0.0274 -0.0249 -0.0114 0.0192 0.0050 -0.0058 0.0445 -0.0165 -0.0122 0.0767 -0.0014 0.0515 -0.0068 -0.0226 0.0153 -0.0111 0.0016 0.0153 0.0236 0.0119 0.0256 -0.0196 -0.0050 -0.0236 -0.0101 -0.0714 -0.0254 -0.0081 ... -0.0064 -0.0295 0.0926 -0.1075 -0.0903 -0.0769 0.0081 0.0042 -0.0042 -0.0016 0.0113 0.0017 -0.0071 0.0136 -0.0237 -0.0261 0.1029 -0.0098 0.0586 -0.0314 -0.0131 0.0383 -0.0153 0.0393 0.0548 0.0249 0.0856 0.0370 0.0312 0.0708 -0.0242 -0.0294 0.0055 -0.0484 0.1413 0.0410 -0.1906 0.0051 -0.0051 0.0358 -0.0626 -0.0394 0.0007 0.0156 -0.1210 0.0241 0.1665 0.0303 -0.0737 -0.1104
Dimension 39 0.0062 0.0446 0.1557 0.0098 -0.0098 0.1004 0.0796 0.0453 -0.0174 0.0535 0.0473 -0.0030 -0.0137 -0.0281 0.0044 0.0038 0.0104 0.0145 0.0246 -0.0172 -0.0197 -0.0173 -0.0171 0.0272 0.0100 0.0056 -0.0222 0.0433 -0.0410 -0.0206 -0.0121 -0.0681 0.0407 0.0005 -0.0239 0.0173 0.0098 -0.0150 -0.0005 -0.0006 -0.0065 0.0110 -0.0163 0.0188 -0.0284 0.0316 0.0001 -0.0106 -0.0007 -0.0118 ... 0.0183 -0.0640 0.0490 -0.0805 -0.0715 0.1141 0.0100 0.0174 -0.0174 0.0431 -0.0520 -0.0514 -0.0354 -0.0451 0.0273 -0.0046 0.0305 0.0325 -0.0162 -0.0024 0.0375 0.0248 -0.0067 0.0066 0.0117 0.0780 0.1176 0.0054 0.0427 0.0456 -0.0858 0.0064 -0.0082 -0.0673 0.1680 0.0495 -0.2226 -0.0054 0.0054 -0.0268 -0.0087 -0.2877 -0.0691 0.0307 0.0046 0.0324 0.0215 -0.0232 -0.0339 0.0089
Dimension 40 0.0061 0.0358 -0.0485 0.0077 -0.0077 0.0244 0.0117 -0.0005 -0.0770 0.1597 0.0260 -0.0010 -0.0299 0.0218 -0.0322 0.0064 0.0075 -0.0440 0.0277 0.0334 -0.0223 0.0363 -0.0032 -0.0294 0.0457 -0.0062 -0.0420 -0.0381 0.0156 0.0409 -0.0331 -0.0072 0.0362 -0.0075 -0.1129 0.0381 -0.0196 -0.0542 0.0557 0.0885 -0.0919 -0.0130 -0.0144 -0.0260 0.0150 0.0635 0.0200 -0.0403 -0.0956 -0.0094 ... -0.0327 -0.0361 0.1105 -0.1403 -0.1569 -0.0734 0.0573 0.0196 -0.0196 0.1058 -0.0608 -0.1026 -0.1109 -0.1220 0.0814 -0.0241 -0.0828 0.1365 0.0402 0.0212 0.0362 0.0257 0.0023 0.0182 -0.0222 0.0884 0.0381 -0.0178 -0.0221 0.0145 0.0306 -0.0392 0.0056 -0.0787 0.1893 -0.2201 0.0261 0.0112 -0.0112 -0.0592 0.0020 0.1447 -0.1678 -0.0129 -0.0011 0.0668 0.0102 -0.0149 -0.1091 0.0799
Dimension 41 0.0059 0.0048 -0.0884 -0.0112 0.0112 -0.0593 -0.0720 0.0056 -0.0125 -0.0872 0.0611 0.0132 -0.0048 0.0098 0.0010 -0.0339 0.0456 0.0039 -0.0322 -0.0032 0.0043 0.0198 0.0023 -0.0121 0.0272 0.0340 -0.0454 0.0229 -0.0148 0.0430 0.1008 0.0546 -0.1021 0.0619 0.0275 -0.0597 -0.0033 -0.0040 0.0125 -0.0632 -0.0135 0.0209 -0.0283 -0.0303 0.1046 -0.0572 0.0336 0.0830 0.0413 0.0358 ... -0.0181 -0.0343 -0.0553 -0.0586 0.0417 0.0687 -0.0362 -0.0032 0.0032 -0.0723 0.0565 0.0711 0.0730 0.0756 -0.0486 0.0088 -0.0188 -0.0734 0.0169 0.0018 0.0080 0.0120 -0.0124 0.0200 -0.0106 0.0457 -0.0084 0.0235 -0.0122 0.0350 -0.0301 -0.0364 -0.0280 0.0445 -0.1398 0.0979 -0.0581 0.0115 -0.0115 -0.0759 0.0182 0.0426 0.0058 -0.0252 0.0225 0.0772 0.0361 -0.0082 -0.1400 0.0229
Dimension 42 0.0059 0.0532 -0.0638 0.0308 -0.0308 -0.0296 0.0260 -0.0485 0.0190 -0.0473 -0.0362 0.0067 0.0003 0.0045 0.0099 -0.0200 0.0200 0.0281 -0.0119 -0.0361 0.0183 -0.0165 0.0327 -0.0317 0.0245 0.0285 -0.0374 -0.0247 0.0262 0.0316 -0.0083 0.0228 -0.0264 0.0445 -0.0047 -0.0247 -0.0085 0.0212 -0.0063 -0.0353 -0.0224 0.0197 -0.0116 0.0030 0.0675 0.0058 -0.0044 0.0430 -0.0204 -0.0146 ... -0.0110 -0.0072 0.0102 -0.0179 -0.0161 -0.0825 -0.0280 0.0276 -0.0276 -0.0209 0.0202 0.0090 -0.0046 0.0175 -0.0124 -0.0147 -0.0052 -0.0645 0.0896 -0.0142 0.0030 -0.0010 -0.0292 0.0127 -0.0144 0.0545 -0.0326 -0.0533 -0.0529 -0.0230 -0.0460 -0.0043 0.0159 -0.0003 -0.1811 0.1424 0.0391 -0.0005 0.0005 -0.0537 0.0445 -0.1159 0.0626 -0.0203 -0.0661 0.0467 -0.0654 0.1025 -0.0518 0.0597
Dimension 43 0.0057 0.0654 0.0409 0.0054 -0.0054 0.0222 0.1264 0.0296 0.0311 0.0431 -0.0162 -0.0036 0.0185 -0.0215 0.0055 0.0919 -0.1001 -0.0213 0.0049 0.0444 0.0253 0.0236 -0.0192 -0.0374 0.0078 -0.0763 0.0265 0.0287 0.0351 -0.1559 -0.0935 0.0243 0.0512 0.0336 -0.0130 -0.0442 0.0304 0.0472 -0.0930 0.1089 0.0401 0.0838 0.0367 0.0397 -0.2891 0.0563 0.0009 -0.1794 -0.0496 0.0084 ... -0.0287 0.0074 -0.0679 0.0223 0.0377 0.0349 -0.0027 0.0550 -0.0550 0.0026 0.0577 -0.0198 -0.0623 -0.0117 0.0342 0.0066 0.0257 -0.0058 -0.0481 -0.0242 0.0309 -0.0052 -0.0111 -0.0083 -0.0306 0.1687 0.0189 -0.0095 -0.0510 -0.0065 -0.0906 -0.0413 -0.0175 0.0550 -0.1492 0.1885 -0.1110 -0.0153 0.0153 -0.0679 0.0457 0.0670 0.0080 0.0489 0.0535 -0.0972 -0.0752 0.0054 0.0478 0.0619
Dimension 44 0.0057 -0.0996 0.0081 -0.0571 0.0571 -0.0316 -0.0112 0.0668 -0.0076 -0.0312 -0.0485 -0.0028 -0.0243 0.0015 -0.0196 0.0470 -0.0396 -0.0294 0.0173 0.0542 0.0007 0.0176 -0.0072 -0.0128 0.0022 -0.0294 -0.0360 -0.0451 0.0393 -0.0414 -0.0039 0.0805 -0.0590 0.0150 -0.0144 -0.0210 -0.0067 -0.0290 -0.0216 0.0775 0.0190 0.0111 0.0260 0.0014 -0.1303 0.0337 0.0166 -0.1026 -0.0230 -0.0019 ... -0.0084 0.0446 0.0230 -0.0527 0.1036 0.0609 0.0023 -0.0087 0.0087 -0.0075 0.0338 0.0117 -0.0095 0.0109 -0.0053 -0.0020 0.0884 -0.0474 -0.0048 -0.0069 -0.0623 -0.0405 0.0023 -0.0217 -0.0076 -0.0441 -0.0276 0.0321 0.0773 0.0080 0.0590 0.0491 -0.0528 0.1043 0.1219 -0.3356 0.1636 -0.0145 0.0145 -0.0108 0.0392 -0.2168 0.0264 0.0263 0.0913 -0.0904 0.0225 0.0203 -0.0957 -0.0235
Dimension 45 0.0056 0.0029 -0.0239 0.0168 -0.0168 -0.0457 -0.0786 0.0125 -0.0130 -0.0509 0.0091 -0.0109 -0.0226 -0.0290 -0.0110 0.1044 -0.1191 -0.0605 0.0444 0.1068 -0.0905 -0.0217 -0.0111 0.0927 -0.0098 -0.0177 -0.0041 0.0842 -0.0824 0.0439 0.0266 -0.0586 -0.0149 -0.1379 0.0313 0.1064 -0.0163 -0.0384 0.0193 -0.0000 0.0902 0.0277 0.0453 0.0985 -0.3629 -0.0304 0.0593 -0.2005 0.0277 0.0773 ... -0.0157 0.0036 0.0359 -0.0344 -0.0581 -0.0287 -0.0074 -0.0212 0.0212 -0.0134 -0.0106 0.0189 0.0347 0.0259 -0.0171 0.0064 0.0086 -0.0347 0.0608 0.0077 0.0243 0.0230 0.0067 0.0160 0.0421 -0.0206 0.0356 0.0139 0.0316 0.0360 -0.0193 0.0138 0.0220 -0.0892 0.0435 0.0898 -0.0835 0.0058 -0.0058 0.0124 -0.0282 0.1320 0.0151 -0.0791 -0.0166 0.0150 0.0448 0.0562 -0.0426 -0.1046
Dimension 46 0.0055 0.0135 0.0463 0.0113 -0.0113 0.0549 0.0932 0.0637 -0.0263 0.0488 -0.0203 0.0073 0.0158 0.0026 -0.0009 -0.0336 0.0401 0.0150 -0.0107 -0.0364 0.0579 0.0360 0.0138 -0.0538 -0.0272 0.0074 -0.0105 0.0069 0.0207 -0.0694 0.0143 -0.0237 0.0517 0.0776 0.0054 -0.0582 0.0001 -0.0302 -0.0048 -0.0171 -0.0662 0.0312 -0.0340 -0.0093 0.1185 0.0132 -0.0001 0.0370 -0.0117 -0.0272 ... -0.0025 -0.0006 0.0215 -0.0269 0.0059 -0.0241 0.0013 0.0386 -0.0386 0.0238 0.0024 -0.0338 -0.0513 -0.0366 0.0358 0.0038 0.0108 0.0190 -0.0222 0.0031 -0.0094 -0.0013 -0.0176 0.0139 0.0131 0.0466 0.0796 -0.0140 0.0349 0.0186 -0.0465 0.0096 0.0089 -0.0470 0.1537 -0.0341 -0.0884 -0.0055 0.0055 0.0064 -0.0028 0.1577 0.0051 -0.0821 -0.0984 -0.0599 0.0470 0.1078 0.0313 -0.1154
Dimension 47 0.0055 0.0381 0.0163 0.0159 -0.0159 -0.0094 -0.0466 -0.0022 -0.0663 -0.0076 -0.0394 -0.0009 -0.0204 -0.0210 -0.0042 0.0206 -0.0143 -0.0214 0.0188 0.0361 -0.0526 0.0799 -0.0473 0.0125 0.0270 0.0488 -0.0388 -0.0479 0.0013 0.0943 0.0881 -0.0708 -0.0388 -0.0377 -0.0905 0.0603 0.0221 -0.0119 0.0979 0.0019 -0.0389 0.0077 -0.0443 0.0001 -0.0466 0.0119 0.0207 -0.0897 0.0047 0.0089 ... 0.0137 -0.0148 -0.1182 0.0595 0.1508 0.0078 -0.0057 -0.0031 0.0031 0.0325 -0.0234 -0.0403 -0.0465 -0.0491 0.0171 -0.0298 0.0270 -0.0353 -0.0232 0.0057 0.0212 -0.0132 -0.0152 -0.0195 -0.0211 0.0562 0.0087 -0.0545 -0.0203 -0.0377 -0.0179 -0.0111 0.0126 -0.0418 -0.0726 0.0205 0.0999 0.0152 -0.0152 -0.0287 0.0313 0.0002 -0.0141 0.1037 -0.0435 0.1159 -0.0328 -0.0933 0.1024 0.0694
Dimension 48 0.0052 0.0150 0.0075 0.0116 -0.0116 0.0563 0.1480 0.0656 -0.0452 0.0204 0.0379 0.0257 0.0293 0.0337 0.0108 -0.0336 -0.0178 -0.0177 0.0006 -0.0243 0.0970 0.0317 0.0486 -0.0613 -0.0524 0.0630 0.0028 0.0112 -0.0051 -0.0008 0.0262 0.0293 0.0099 -0.0106 0.0287 0.0244 0.0065 -0.0458 -0.0949 0.0201 0.0234 0.0106 -0.0067 -0.0473 0.1075 -0.0620 -0.0415 0.1269 -0.0884 0.0871 ... 0.0001 0.0224 -0.0178 0.0002 0.0832 0.0119 0.0126 0.0053 -0.0053 -0.0220 0.0440 0.0295 0.0111 0.0136 -0.0146 0.0022 0.0562 0.0323 -0.0222 0.0086 0.0423 0.0069 0.0147 -0.0331 0.0253 -0.0332 0.0259 -0.0031 -0.0064 -0.0066 -0.0282 0.0051 0.0285 -0.0730 -0.0114 0.1835 -0.0944 -0.0121 0.0121 0.0270 -0.0074 -0.0308 -0.0393 -0.0314 0.0935 -0.1135 -0.0185 -0.0879 0.1007 0.0146
Dimension 49 0.0052 0.0314 -0.0178 -0.0195 0.0195 -0.0389 -0.1881 0.0176 0.0182 -0.0819 -0.0944 -0.0246 -0.0198 -0.0179 -0.0106 -0.0217 0.0141 0.0263 0.0325 0.0017 -0.0205 -0.1123 -0.0316 0.0844 -0.0351 -0.1433 0.0170 -0.0745 0.1020 -0.0420 0.0269 0.0361 -0.0562 -0.0142 0.0154 0.0057 -0.0194 -0.0207 -0.0206 0.0306 -0.0040 -0.0491 -0.0845 0.0857 -0.0138 0.0156 -0.0533 0.1402 -0.0045 -0.0290 ... 0.0366 -0.0516 0.0273 -0.0092 -0.0676 -0.0295 0.0274 -0.0131 0.0131 0.0254 -0.0920 -0.0239 0.0314 0.0076 -0.0097 0.0118 -0.0481 -0.1068 0.0848 -0.0093 0.0214 -0.0067 0.0205 0.0060 -0.0154 0.0186 0.0575 -0.0034 0.0080 0.0256 -0.0845 -0.0155 -0.0450 0.0296 0.1605 0.0566 -0.2804 -0.0151 0.0151 0.0091 -0.0207 -0.0104 -0.0037 -0.0319 0.1252 -0.1747 0.0445 0.0061 -0.0419 -0.0841
Dimension 50 0.0052 -0.0114 -0.0377 0.0079 -0.0079 0.0334 0.0501 0.0050 -0.0354 -0.0092 0.0911 0.0183 0.0019 0.0077 0.0034 0.0518 0.0030 -0.0197 -0.0338 -0.0074 0.0224 0.0481 0.0334 -0.0593 0.0328 -0.0070 -0.0261 0.0424 -0.0071 0.0144 0.0803 0.0060 -0.0351 0.0100 -0.0174 0.0257 0.0174 -0.0841 0.1701 0.0103 -0.0422 0.0063 -0.0398 -0.0147 -0.0651 -0.0349 0.0950 -0.2136 0.1603 -0.0121 ... 0.0296 -0.0059 -0.0249 0.0680 -0.0051 0.0273 -0.0239 -0.0082 0.0082 -0.0010 0.0223 0.0043 -0.0081 -0.0155 -0.0094 -0.0234 0.0278 -0.0020 -0.0390 0.0157 -0.0230 0.0011 -0.0032 0.0114 0.0048 -0.0327 0.0252 -0.0099 -0.0153 -0.0011 -0.0257 -0.0044 0.0084 0.0288 -0.0480 0.1402 -0.1007 0.0014 -0.0014 0.0461 -0.0281 -0.1506 -0.0593 0.0086 -0.0515 0.0125 -0.0139 -0.0325 0.0506 0.0757
Dimension 51 0.0051 -0.0622 -0.0517 -0.0263 0.0263 -0.0375 -0.0274 -0.0220 0.0547 0.0413 0.0449 0.0005 -0.0020 -0.0058 -0.0002 0.0317 -0.0008 -0.0088 -0.0102 0.0022 -0.0409 0.0339 0.0083 0.0689 -0.0831 0.1025 -0.0428 -0.0144 -0.0263 0.1495 0.0165 -0.1079 0.0278 -0.0359 -0.0879 0.0939 -0.0911 0.0427 -0.0028 -0.0227 0.0074 0.0935 -0.0493 0.0072 -0.2032 0.0022 0.0647 0.0423 -0.0095 0.0827 ... -0.0151 0.0195 0.0043 -0.0645 0.1047 -0.0393 -0.0187 -0.0302 0.0302 -0.0206 0.0415 0.0133 0.0006 0.0219 -0.0003 -0.0017 0.0410 0.0749 0.0586 -0.0013 -0.0537 -0.0037 0.0057 -0.0040 -0.0106 -0.0685 -0.0196 0.0235 0.0272 0.0113 0.0168 0.0092 -0.0246 0.0677 0.0199 -0.1166 0.0512 0.0066 -0.0066 0.0520 -0.0438 -0.0846 0.0150 -0.0237 -0.0462 0.1223 0.0535 -0.0137 -0.1008 0.0179
Dimension 52 0.0051 0.0137 -0.0662 -0.0123 0.0123 -0.0006 -0.0193 -0.0452 -0.0091 0.0512 -0.0785 -0.0080 -0.0038 -0.0073 -0.0111 -0.0271 -0.0145 0.0061 0.0209 0.0331 -0.0060 -0.0242 0.0107 -0.0317 0.0484 -0.0106 -0.0383 -0.0097 0.0334 0.0532 -0.0141 -0.0369 0.0091 -0.0579 -0.0346 0.0834 -0.0547 -0.0327 -0.0356 -0.0212 0.0151 -0.0122 -0.0165 0.0106 0.0241 0.0177 -0.0523 0.1165 -0.1009 -0.0057 ... 0.0033 -0.0121 -0.0231 -0.0306 0.0279 0.0525 0.0389 -0.0195 0.0195 0.0131 -0.0067 -0.0212 -0.0267 -0.0209 0.0254 0.0174 -0.0366 0.0665 -0.0321 -0.0302 0.0008 0.0007 -0.0056 0.0279 -0.0213 0.0006 -0.0137 0.0009 -0.0205 0.0034 -0.0121 -0.0385 -0.0311 0.1231 0.0547 -0.1206 -0.0710 0.0057 -0.0057 0.0040 -0.0275 0.0073 0.0486 0.0094 -0.0285 0.0554 0.0090 -0.0013 0.0235 -0.0378
Dimension 53 0.0051 0.0090 0.0439 0.0030 -0.0030 0.0024 0.0712 0.0098 0.0184 0.0931 0.0972 0.0147 0.0227 0.0100 0.0043 0.0085 0.0119 0.0002 -0.0294 -0.0285 0.0715 -0.0708 0.0496 0.0078 -0.0596 0.1614 -0.0034 0.0977 -0.1350 -0.0312 -0.0270 -0.0391 0.0793 -0.0532 -0.0025 0.0642 -0.0402 0.0149 -0.0293 0.0013 -0.0424 0.1159 0.0221 -0.1006 0.0114 -0.0071 -0.0320 -0.0584 0.1297 -0.0508 ... -0.0202 0.0075 -0.0029 0.0497 -0.0541 -0.0472 -0.0174 -0.0095 0.0095 -0.0467 0.0605 0.0333 0.0149 0.0326 0.0066 0.0283 -0.0156 0.1741 0.0162 -0.0256 0.0090 0.0136 -0.0189 -0.0117 0.0029 -0.0397 -0.0354 -0.0101 -0.0237 0.0019 -0.0204 -0.0085 0.0065 0.0287 0.0039 0.0252 -0.0535 0.0042 -0.0042 0.0314 -0.0282 0.0509 0.0471 0.0087 -0.0586 0.0948 0.0411 0.1030 -0.1124 -0.0948
Dimension 54 0.0050 0.0365 0.0249 0.0068 -0.0068 0.0262 -0.0450 0.0199 0.0027 0.0309 0.0151 0.0135 0.0187 0.0168 0.0136 0.0527 0.0055 -0.0149 -0.0238 -0.0557 0.0054 0.1217 0.0580 -0.0934 0.0088 0.0159 0.0113 -0.0188 0.0244 -0.0392 -0.0203 0.0044 0.0464 0.0392 0.0595 -0.0237 -0.0544 0.0218 0.1027 0.0922 -0.0304 -0.0510 -0.0097 0.0283 -0.1701 -0.0039 0.0778 -0.1036 -0.0002 0.2090 ... 0.0054 0.0058 -0.0389 0.0636 -0.0057 -0.0020 0.0232 -0.0075 0.0075 0.0422 -0.0509 -0.0300 -0.0146 -0.0319 0.0194 0.0042 0.0001 0.0376 -0.0398 -0.0119 0.0216 -0.0009 -0.0029 -0.0268 -0.0254 0.0522 0.0138 -0.0270 -0.0373 -0.0326 0.0020 -0.0287 0.0105 0.0132 -0.0554 0.0341 0.0191 0.0067 -0.0067 -0.0277 0.0321 -0.0207 -0.0431 -0.0179 -0.0463 0.0342 -0.0025 -0.1501 0.1599 0.1008
Dimension 55 0.0050 0.0232 -0.0001 0.0018 -0.0018 -0.0249 -0.0169 0.0523 0.0192 -0.0066 0.0066 0.0060 -0.0079 -0.0088 -0.0077 -0.0719 -0.0187 0.0032 0.0307 0.0515 0.0053 0.1008 0.0124 -0.0375 -0.0359 -0.0418 -0.0048 0.0128 0.0075 0.2051 0.0201 -0.0255 -0.0852 -0.0663 0.0998 0.0465 -0.1301 0.0313 -0.0069 0.0018 -0.0096 -0.0839 -0.0467 -0.0238 0.1519 -0.1077 -0.0255 0.2457 -0.1209 0.0799 ... 0.0251 -0.0373 -0.0053 0.0229 -0.0340 0.0040 -0.0162 -0.0051 0.0051 -0.0124 0.0037 0.0002 -0.0026 0.0046 0.0029 0.0011 -0.0199 -0.0113 -0.0069 -0.0346 0.0229 0.0020 -0.0234 -0.0308 -0.0177 0.0086 -0.0055 -0.0217 -0.0221 -0.0055 -0.0268 -0.0286 0.0004 0.0169 0.0157 0.0277 -0.0692 -0.0037 0.0037 0.0060 -0.0116 -0.0697 0.0484 0.0118 -0.0081 0.0034 0.0043 0.0233 -0.0261 -0.0074
Dimension 56 0.0049 0.0360 0.0167 0.0138 -0.0138 -0.0013 -0.0279 0.0610 0.0122 0.0621 -0.0527 -0.0113 0.0031 -0.0091 0.0011 -0.0087 -0.0035 0.0129 0.0085 -0.0025 -0.0388 -0.0650 -0.0654 0.0305 0.0980 0.0301 -0.0277 0.0312 -0.0184 0.0189 0.0410 -0.1308 0.0922 -0.0442 0.0153 0.0574 0.0198 -0.0994 -0.0742 0.0136 -0.0210 0.0237 -0.0173 0.0669 0.0447 0.0222 -0.0126 0.0161 -0.0936 0.0317 ... -0.0244 0.0145 0.0218 0.1388 -0.2434 0.0201 0.0151 -0.0205 0.0205 0.0011 0.0012 -0.0196 -0.0151 0.0085 0.0195 0.0135 -0.0259 0.0791 0.0156 -0.0328 0.0091 0.0000 -0.0189 0.0028 -0.0048 0.0156 0.0036 -0.0206 -0.0364 -0.0109 -0.0588 -0.0082 0.0121 -0.0193 0.0244 0.0394 -0.0570 0.0014 -0.0014 0.0117 -0.0158 -0.0812 0.0749 0.0039 -0.0248 0.0734 -0.0372 0.0474 -0.0808 0.0589
Dimension 57 0.0049 0.0120 -0.0945 0.0124 -0.0124 0.0239 0.0352 -0.0310 -0.0058 -0.0528 -0.0707 -0.0196 -0.0278 -0.0201 -0.0062 -0.0129 0.0045 0.0088 0.0215 0.0336 -0.0437 -0.0760 0.0298 -0.0056 0.0615 0.0716 -0.0750 -0.2098 0.1205 0.0420 -0.0540 0.0801 -0.1056 0.0436 -0.0535 -0.0443 0.0220 0.0379 0.0815 0.0800 -0.0820 -0.0785 -0.0484 0.0199 -0.0315 0.1207 -0.1697 0.0866 -0.0179 -0.1062 ... -0.0368 0.0460 -0.0296 -0.0217 0.1133 0.0683 0.0043 0.0462 -0.0462 -0.0012 -0.0016 -0.0022 -0.0087 -0.0115 -0.0164 -0.0219 -0.0048 -0.1008 -0.0426 0.0083 0.0131 0.0012 0.0085 -0.0060 0.0080 0.0374 0.0166 -0.0052 -0.0078 -0.0034 -0.0052 0.0104 0.0250 -0.0651 -0.0181 0.1092 -0.0237 -0.0068 0.0068 0.0068 0.0051 -0.0351 -0.0223 0.0328 0.1006 -0.0414 -0.0440 0.0797 -0.0521 -0.0926
Dimension 58 0.0049 -0.0143 -0.0155 -0.0166 0.0166 0.0071 -0.0228 -0.0336 0.0216 0.1202 0.0767 0.0006 0.0137 0.0095 0.0058 -0.0424 -0.0211 0.0000 0.0084 0.0167 0.0582 0.0481 -0.0510 -0.0584 0.0106 -0.0761 0.1086 0.2373 -0.1813 -0.1011 -0.1262 0.0121 0.0998 0.0079 0.0140 -0.0428 0.0302 0.0720 0.0172 -0.1130 0.1052 -0.0211 -0.0660 -0.0540 0.0654 -0.0397 -0.0297 0.2109 -0.0593 -0.1094 ... -0.0119 0.0274 0.0022 -0.0213 0.0410 -0.0054 -0.0094 -0.0396 0.0396 -0.0050 -0.0124 0.0054 0.0191 0.0067 0.0247 0.0441 0.0016 0.1840 -0.0135 0.0300 -0.0019 -0.0212 0.0164 -0.0036 -0.0170 -0.0054 -0.0115 -0.0028 0.0211 -0.0119 0.0069 0.0241 -0.0221 0.0385 -0.0308 -0.0708 0.0840 -0.0030 0.0030 -0.0174 0.0244 0.0405 0.0028 0.0029 0.0242 -0.0583 -0.0450 -0.0595 0.0914 0.0764
Dimension 59 0.0049 0.0344 0.0682 0.0135 -0.0135 0.0460 0.0902 -0.0094 -0.0627 0.0175 0.0086 0.0023 -0.0095 -0.0093 -0.0017 -0.0313 -0.0093 0.0083 0.0180 0.0197 -0.1219 -0.0210 -0.0612 0.0952 0.1120 -0.0333 0.0544 -0.0623 0.0165 0.1442 0.0917 0.0438 -0.1596 0.0715 -0.1350 0.0310 -0.0339 -0.0532 -0.0566 -0.1153 0.1480 0.1201 -0.1680 -0.1314 0.0925 -0.0640 0.0324 0.0922 -0.0132 -0.0709 ... 0.0136 -0.0259 -0.0209 0.0293 -0.0280 -0.0492 0.0329 0.0073 -0.0073 0.0407 -0.0388 -0.0433 -0.0459 -0.0451 0.0293 -0.0039 0.0148 0.0045 0.0084 -0.0070 0.0169 0.0152 -0.0138 -0.0159 -0.0055 0.0582 0.0324 -0.0188 -0.0184 -0.0081 -0.0419 -0.0234 0.0097 -0.0136 -0.0697 0.1167 -0.0476 0.0094 -0.0094 -0.0266 0.0159 0.0144 -0.0506 -0.0185 -0.0448 0.0599 0.0117 -0.0235 0.0178 0.0153
Dimension 60 0.0048 0.0130 -0.0016 -0.0012 0.0012 -0.0026 0.0052 -0.0016 -0.0016 0.0355 0.0468 0.0082 0.0115 0.0076 0.0049 0.0012 -0.0060 -0.0062 -0.0160 0.0009 -0.0728 0.0419 0.1017 -0.0714 0.1060 0.0234 0.1596 0.1768 -0.2341 -0.1139 -0.0602 0.1929 -0.1073 -0.1645 -0.1108 0.2839 -0.1066 -0.1252 0.0288 0.0128 0.0004 0.0216 -0.0799 -0.0277 -0.0569 0.0559 -0.2209 0.0650 0.0448 0.0818 ... 0.0273 -0.0249 -0.0003 0.0604 -0.0671 0.0057 -0.0419 -0.0028 0.0028 -0.0386 0.0495 0.0278 0.0136 0.0210 -0.0033 0.0153 0.0017 0.0596 -0.0250 -0.0193 0.0138 -0.0186 -0.0083 0.0049 -0.0074 0.0097 -0.0139 -0.0092 -0.0116 -0.0083 -0.0152 -0.0049 0.0062 -0.0233 0.0210 0.0467 -0.0443 -0.0087 0.0087 0.0025 0.0042 0.0002 0.0531 0.0289 0.0719 -0.0887 -0.0282 0.0267 -0.0530 0.0291
Dimension 61 0.0048 0.0353 -0.0245 0.0242 -0.0242 -0.0200 -0.0650 -0.0169 0.0235 0.0336 -0.0319 -0.0058 -0.0046 -0.0080 -0.0031 0.0009 0.0175 0.0069 0.0018 -0.0077 0.0373 -0.2104 0.0569 0.0144 0.0447 0.1489 0.0059 -0.0677 -0.0512 -0.0351 0.0225 -0.0654 0.0594 -0.0643 -0.1437 0.1043 0.0365 -0.0208 -0.0065 0.0334 0.0151 -0.1128 0.0574 0.0963 -0.0697 0.0337 0.0691 0.0392 -0.0798 0.0276 ... -0.0190 -0.0008 -0.0134 -0.1961 0.2491 0.0378 -0.0048 0.0103 -0.0103 0.0242 -0.0278 -0.0288 -0.0229 -0.0171 0.0216 -0.0056 -0.0071 0.0110 0.0289 -0.0125 0.0444 0.0019 -0.0102 -0.0258 -0.0032 0.0899 0.0148 -0.0258 -0.0143 -0.0108 -0.0040 -0.0130 0.0277 -0.1099 -0.0433 0.0464 0.0729 -0.0124 0.0124 -0.0296 0.0092 -0.0253 0.0326 -0.0275 0.0774 -0.0732 -0.0527 0.0215 -0.0326 0.0394
Dimension 62 0.0048 0.0149 0.0019 0.0216 -0.0216 0.0035 0.0400 -0.0421 -0.0057 -0.0028 -0.0124 -0.0069 0.0005 -0.0047 0.0052 0.0012 0.0039 0.0011 -0.0003 -0.0034 -0.1924 -0.1643 0.0880 0.1794 0.0520 -0.1655 0.1307 0.2050 -0.1370 0.0588 -0.1632 -0.0238 0.0612 0.0983 0.2545 -0.2400 0.0806 0.0484 -0.0309 0.0978 -0.2110 0.1173 0.0381 -0.0377 -0.0023 0.0383 -0.0135 -0.0152 -0.0159 -0.0355 ... 0.0083 -0.0041 -0.0081 -0.0257 0.0533 0.0111 -0.0042 -0.0061 0.0061 0.0144 -0.0104 -0.0100 -0.0094 -0.0061 0.0095 0.0008 0.0116 -0.0078 -0.0123 -0.0030 0.0259 -0.0101 -0.0197 0.0026 0.0017 0.0413 0.0102 -0.0155 -0.0009 -0.0191 0.0136 -0.0211 0.0165 -0.0719 -0.0413 0.0566 0.0505 -0.0056 0.0056 0.0081 -0.0077 -0.0027 0.0042 0.0121 0.0470 -0.0321 -0.0072 -0.0211 -0.0095 0.0162
Dimension 63 0.0048 0.0174 -0.0455 0.0134 -0.0134 -0.0093 -0.0624 -0.0409 -0.0210 -0.0347 -0.0260 -0.0040 -0.0058 -0.0047 0.0032 0.0180 0.0069 -0.0054 -0.0037 -0.0017 0.0771 -0.1871 -0.0765 0.0204 0.0840 0.0168 0.0703 0.0267 -0.0851 -0.0850 0.0295 0.0641 -0.0471 0.0817 -0.1121 -0.0292 0.0439 -0.0118 0.0993 -0.1951 -0.0577 0.0563 -0.0230 0.2097 -0.1521 0.0159 0.0861 0.0314 -0.1176 0.1784 ... 0.0170 -0.0069 0.0145 0.1598 -0.2250 0.0577 -0.0009 0.0069 -0.0069 0.0162 -0.0188 -0.0108 -0.0086 -0.0180 -0.0028 -0.0176 -0.0061 -0.0500 -0.0680 0.0135 0.0097 -0.0009 -0.0092 0.0079 -0.0107 0.0313 -0.0087 -0.0215 -0.0257 -0.0289 0.0233 -0.0007 0.0132 -0.0864 0.0241 0.0056 0.0574 -0.0040 0.0040 0.0091 0.0014 -0.0193 -0.0297 0.0175 0.0510 -0.0265 -0.0533 0.0037 0.0299 0.0048
Dimension 64 0.0047 0.0139 0.0072 0.0174 -0.0174 -0.0098 -0.0628 0.0208 -0.0221 0.0054 0.0384 -0.0013 -0.0023 0.0076 -0.0036 0.0067 0.0092 -0.0064 0.0005 -0.0090 0.2202 -0.0745 0.0654 -0.2117 0.0085 0.0007 -0.0392 0.1179 -0.0653 0.0759 -0.1743 -0.0759 0.1291 0.2736 -0.2093 -0.0847 -0.0685 -0.0757 0.0591 -0.1128 0.0915 0.0305 -0.0514 -0.0408 0.0237 -0.0008 0.1266 -0.0602 -0.0702 -0.0094 ... 0.0236 -0.0239 -0.0054 -0.0167 0.0468 -0.0448 0.0022 0.0303 -0.0303 0.0038 -0.0135 -0.0075 0.0002 0.0002 0.0018 0.0044 -0.0042 0.0020 0.0420 0.0043 0.0148 -0.0030 -0.0076 -0.0023 0.0127 -0.0003 0.0250 -0.0206 0.0020 -0.0064 -0.0141 -0.0022 0.0225 -0.1073 0.0147 0.1119 -0.0347 -0.0114 0.0114 0.0023 0.0018 0.0000 -0.0101 -0.0167 0.0746 -0.0997 -0.0038 0.0073 -0.0726 0.0425
Dimension 65 0.0047 0.0173 -0.0069 -0.0035 0.0035 0.0103 -0.0362 -0.0109 -0.0333 0.0470 0.0015 0.0047 0.0119 0.0110 0.0014 0.0139 0.0077 -0.0081 -0.0149 -0.0198 -0.0287 0.1292 -0.0976 -0.0888 0.1648 0.1267 0.2995 -0.1745 -0.1285 0.0495 0.0278 0.0053 -0.0222 -0.0544 -0.1805 0.1045 -0.0499 0.1301 -0.0190 -0.0335 -0.0180 0.0207 0.2027 -0.0696 0.0797 -0.0898 -0.0325 -0.1627 0.2125 0.0833 ... 0.0113 -0.0060 0.0092 -0.1311 0.1830 0.0479 -0.0019 -0.0273 0.0273 -0.0460 0.0221 0.0319 0.0370 0.0265 -0.0036 0.0358 -0.0333 0.0857 -0.0301 -0.0120 0.0233 -0.0092 0.0007 -0.0088 -0.0082 -0.0297 0.0101 -0.0211 -0.0034 -0.0146 -0.0268 -0.0009 -0.0048 -0.0397 0.0888 0.0322 -0.0905 -0.0206 0.0206 -0.0071 0.0131 -0.0226 0.0685 -0.0021 0.1663 -0.1987 -0.0107 0.0180 0.0012 -0.0916
Dimension 66 0.0047 0.0107 0.0252 -0.0026 0.0026 0.0052 -0.0325 0.0103 0.0042 0.0518 -0.0291 0.0008 0.0067 -0.0042 0.0045 -0.0020 -0.0034 -0.0045 0.0065 -0.0058 -0.1282 0.1840 0.0151 -0.0583 0.0994 0.0985 0.1061 -0.0910 -0.0529 0.0705 -0.1909 0.2273 -0.1836 -0.0675 0.0645 -0.1552 0.3011 0.1650 -0.1199 -0.0705 0.0792 -0.0371 -0.0177 0.2538 0.0019 -0.0214 0.1443 0.0205 -0.0803 -0.0701 ... -0.0205 0.0043 0.0005 -0.0668 0.0390 -0.0445 0.0113 -0.0094 0.0094 0.0155 -0.0155 -0.0257 -0.0269 -0.0288 0.0125 -0.0074 0.0029 0.0480 0.0415 -0.0259 -0.0040 0.0152 0.0021 0.0008 -0.0071 0.0504 0.0099 0.0021 -0.0174 0.0136 -0.0162 -0.0207 0.0002 0.0172 -0.0252 -0.0058 -0.0069 0.0098 -0.0098 -0.0261 0.0047 -0.0026 0.0040 -0.0241 -0.0832 0.0658 0.0242 -0.0532 0.0314 0.0696
Dimension 67 0.0047 0.0100 -0.0250 -0.0030 0.0030 0.0115 0.0273 0.0060 -0.0071 -0.0355 0.0362 -0.0045 -0.0084 -0.0065 -0.0028 0.0022 0.0001 0.0011 0.0021 0.0141 0.0546 0.1333 -0.0538 -0.1019 -0.0044 -0.2495 0.1095 0.0081 0.0611 0.2053 0.0569 -0.0767 -0.0461 0.2045 -0.1504 -0.0895 -0.0698 0.0342 -0.1517 -0.1085 0.1105 -0.0594 0.4017 -0.0142 -0.2352 -0.1529 0.1844 0.2289 0.0941 0.0336 ... 0.0022 -0.0055 -0.0174 0.0837 -0.0841 0.0230 -0.0117 -0.0114 0.0114 -0.0133 0.0352 0.0105 0.0029 0.0033 -0.0040 -0.0060 -0.0037 -0.0227 -0.0050 0.0101 0.0054 -0.0054 -0.0070 0.0049 -0.0052 -0.0069 -0.0179 0.0030 -0.0083 -0.0066 -0.0093 -0.0097 -0.0114 0.0494 0.0032 -0.0210 -0.0253 0.0046 -0.0046 0.0210 -0.0207 0.0106 -0.0168 0.0226 0.0011 0.0434 -0.0156 0.0351 -0.0196 -0.0362
Dimension 68 0.0047 -0.0008 -0.0163 -0.0098 0.0098 0.0069 0.0026 0.0048 -0.0071 -0.0076 -0.0321 -0.0047 -0.0060 -0.0048 0.0001 0.0025 0.0054 -0.0021 0.0034 0.0033 0.0613 -0.0168 -0.0915 -0.1206 0.1833 -0.0328 -0.0283 0.0643 -0.0178 0.1396 -0.0527 -0.1110 0.0663 -0.1417 0.2116 -0.0722 0.3491 -0.1626 0.0231 0.1828 0.1470 -0.1503 -0.0955 -0.1591 -0.1004 -0.1853 0.0497 0.0809 0.2423 0.1290 ... -0.0084 0.0024 0.0085 -0.0485 0.0255 0.0101 0.0058 -0.0031 0.0031 -0.0013 0.0006 -0.0015 -0.0002 -0.0056 0.0036 0.0065 0.0011 -0.0110 0.0232 0.0013 -0.0003 0.0010 0.0118 -0.0009 -0.0059 0.0138 0.0080 0.0125 0.0033 0.0052 -0.0040 -0.0009 -0.0129 0.0148 0.0172 -0.0370 -0.0050 -0.0017 0.0017 -0.0219 0.0119 0.0055 0.0195 0.0028 0.0323 -0.0316 -0.0033 -0.0100 -0.0025 0.0034
Dimension 69 0.0047 -0.0088 -0.0111 -0.0013 0.0013 -0.0022 0.0301 -0.0076 0.0025 -0.0217 0.0119 0.0001 -0.0046 -0.0019 0.0007 -0.0050 0.0025 -0.0010 -0.0012 0.0081 -0.1680 0.1457 0.1627 0.0780 -0.1555 0.0102 -0.0591 0.0923 -0.0424 0.0293 -0.0107 -0.0625 0.0518 -0.0641 -0.0494 -0.1043 0.2241 0.2379 0.0973 0.0280 0.1867 0.0506 -0.2378 -0.3639 0.0200 0.0386 0.1281 -0.0147 -0.2782 0.1538 ... 0.0010 0.0188 0.0157 0.0293 -0.0026 0.0399 -0.0077 -0.0065 0.0065 -0.0031 0.0004 0.0092 0.0115 0.0107 -0.0117 -0.0080 -0.0104 -0.0132 -0.0291 0.0185 -0.0127 -0.0127 0.0081 -0.0061 -0.0022 -0.0483 -0.0025 -0.0139 0.0078 -0.0194 0.0128 0.0319 0.0066 -0.0072 0.0337 -0.0212 0.0246 -0.0102 0.0102 0.0174 0.0099 -0.0142 0.0066 0.0063 0.0875 -0.1163 -0.0228 0.0536 -0.0185 -0.0594
Dimension 70 0.0047 0.0126 0.0144 0.0137 -0.0137 -0.0104 -0.0394 0.0175 -0.0204 0.0062 0.0401 -0.0017 -0.0011 -0.0022 -0.0013 0.0014 0.0031 0.0003 -0.0035 0.0052 0.0824 -0.2687 -0.0822 0.0110 0.1749 0.1807 0.0432 -0.2683 0.0587 -0.2262 -0.1193 0.1032 0.0424 -0.1051 0.1790 0.0475 -0.0909 -0.0029 0.1703 -0.0743 0.2062 -0.1131 -0.1044 -0.1444 0.0306 -0.1024 0.2717 -0.0367 -0.0977 0.0603 ... 0.0106 -0.0170 -0.0069 -0.0023 0.0141 -0.0123 -0.0185 0.0153 -0.0153 -0.0039 -0.0025 0.0004 0.0020 -0.0142 -0.0019 -0.0074 -0.0069 0.0099 -0.0334 -0.0096 0.0072 0.0028 -0.0192 0.0093 0.0025 0.0299 -0.0038 -0.0092 -0.0200 -0.0068 -0.0008 -0.0228 0.0172 -0.0250 -0.0163 0.0621 -0.0271 0.0054 -0.0054 0.0214 -0.0224 0.0150 -0.0234 0.0283 -0.0441 0.0396 0.0177 -0.0067 -0.0016 0.0122
Dimension 71 0.0047 -0.0185 -0.0039 -0.0139 0.0139 -0.0073 0.0709 0.0483 -0.0021 -0.0137 0.0058 -0.0043 0.0005 -0.0040 0.0014 0.0010 -0.0007 0.0002 -0.0011 0.0063 -0.0520 -0.0166 0.2034 0.0901 -0.2463 0.0435 0.2861 -0.1315 -0.1177 -0.0642 0.0056 0.0496 -0.0303 0.0059 -0.1881 -0.0385 0.1468 0.1579 0.0064 0.0121 -0.0345 -0.0470 -0.1796 0.2784 0.0421 -0.0216 -0.1249 -0.0496 0.0689 0.1575 ... 0.0027 -0.0143 -0.0099 0.0480 -0.0656 -0.0351 -0.0026 0.0099 -0.0099 0.0084 -0.0023 0.0012 -0.0057 -0.0081 0.0055 -0.0026 -0.0045 -0.0273 0.0330 0.0093 -0.0057 0.0037 0.0084 -0.0017 -0.0015 -0.0339 0.0009 0.0202 0.0145 0.0141 0.0239 0.0004 -0.0138 0.0482 -0.0404 -0.0265 0.0217 0.0096 -0.0096 -0.0098 0.0029 0.0305 -0.0123 -0.0060 -0.0406 0.0807 0.0380 -0.0066 -0.0661 0.0158
Dimension 72 0.0047 -0.0026 0.0068 -0.0006 0.0006 -0.0186 -0.0145 -0.0016 -0.0055 -0.0005 -0.0023 0.0085 0.0000 0.0025 0.0037 0.0023 -0.0028 -0.0025 -0.0050 -0.0024 -0.2465 0.2146 0.0788 0.1162 -0.0627 0.1465 0.0556 -0.2667 0.0718 -0.0904 -0.0963 -0.0394 0.1238 0.0222 0.2017 -0.0214 0.1196 -0.3867 -0.0463 -0.1824 -0.0197 0.1161 0.0981 0.0827 0.0027 0.0704 0.0014 -0.0052 0.0077 -0.2465 ... -0.0070 0.0012 0.0002 0.0394 -0.0619 -0.0112 -0.0152 0.0154 -0.0154 -0.0089 0.0057 0.0169 0.0123 0.0049 -0.0091 -0.0041 0.0006 -0.0031 0.0282 0.0021 -0.0025 -0.0050 0.0099 -0.0021 0.0016 0.0010 -0.0009 0.0056 0.0009 0.0011 0.0215 0.0004 -0.0014 -0.0233 -0.0076 0.0129 0.0126 -0.0016 0.0016 -0.0036 0.0011 0.0224 0.0173 0.0137 0.0455 -0.0231 0.0005 -0.0062 -0.0229 -0.0091
Dimension 73 0.0047 0.0016 -0.0088 0.0110 -0.0110 -0.0102 -0.0362 0.0101 -0.0187 0.0064 0.0063 0.0042 -0.0019 -0.0010 0.0004 0.0013 0.0017 0.0023 0.0005 -0.0060 -0.0392 -0.2325 0.2894 0.0169 -0.0156 -0.0004 0.1136 -0.0570 -0.0356 -0.0334 0.1612 -0.0433 -0.0124 -0.0612 -0.0982 -0.0360 0.2030 0.1222 0.1833 0.0235 -0.1443 0.0214 0.1885 -0.3126 -0.2254 0.0142 0.1256 0.2414 -0.0221 -0.2113 ... -0.0079 0.0164 0.0067 0.0281 -0.0271 0.0298 0.0023 0.0100 -0.0100 -0.0094 0.0024 0.0073 0.0093 0.0036 -0.0014 0.0056 0.0056 0.0079 -0.0227 0.0015 -0.0080 0.0088 -0.0062 0.0096 0.0070 -0.0037 -0.0007 -0.0065 -0.0095 -0.0047 -0.0039 0.0024 0.0152 -0.0254 0.0067 0.0571 -0.0341 0.0014 -0.0014 0.0126 -0.0029 -0.0590 -0.0081 0.0133 -0.0258 0.0058 -0.0019 0.0348 0.0024 -0.0242
Dimension 74 0.0046 0.0171 -0.0303 0.0143 -0.0143 -0.0177 -0.0792 -0.0018 0.0058 0.0445 0.0264 -0.0089 -0.0028 -0.0008 -0.0037 -0.0066 -0.0007 0.0032 0.0041 0.0121 -0.0808 -0.1187 0.1810 0.0676 -0.0698 -0.1184 0.1711 0.0955 -0.1161 0.1440 -0.1124 0.0432 -0.0591 0.0678 -0.1689 -0.0023 0.0013 0.0427 -0.2308 0.1009 0.1929 -0.0537 -0.0887 0.0732 0.2082 -0.0712 0.0941 -0.1965 0.1446 -0.2107 ... 0.0047 -0.0052 0.0053 -0.0628 0.0710 0.0332 -0.0081 -0.0048 0.0048 0.0129 -0.0312 -0.0183 -0.0048 0.0034 0.0255 0.0233 -0.0143 0.0571 -0.0075 -0.0033 0.0019 -0.0003 -0.0155 0.0232 0.0017 0.0310 -0.0142 -0.0193 -0.0223 -0.0098 -0.0169 -0.0103 0.0064 -0.0678 0.0620 0.0114 -0.0237 0.0022 -0.0022 0.0206 -0.0231 -0.0642 0.0186 0.0232 -0.0293 0.0261 -0.0411 0.0161 0.0343 0.0276
Dimension 75 0.0046 -0.0086 0.0409 -0.0190 0.0190 0.0217 0.0733 0.0010 0.0427 0.0036 -0.0315 0.0015 0.0111 0.0039 0.0036 0.0027 -0.0059 -0.0011 -0.0038 -0.0090 0.0323 -0.1586 0.1153 0.0410 -0.0700 -0.0275 0.0447 0.0291 -0.0180 0.0376 0.0202 0.0684 -0.0878 0.0203 0.1492 -0.0182 -0.3486 0.2689 0.1700 -0.0946 -0.1137 -0.1035 0.1201 0.1439 0.1083 -0.0635 0.1857 -0.1252 -0.0783 0.0158 ... -0.0112 0.0222 0.0034 -0.0037 0.0239 0.0054 0.0262 -0.0358 0.0358 0.0056 0.0143 -0.0017 -0.0045 0.0015 -0.0029 -0.0019 0.0177 0.0263 -0.0385 -0.0006 -0.0135 -0.0135 0.0143 0.0030 -0.0098 -0.0576 -0.0386 0.0035 -0.0083 -0.0030 -0.0055 -0.0041 -0.0127 0.1269 0.0482 -0.0852 -0.0645 -0.0046 0.0046 0.0246 -0.0143 0.0430 -0.0216 0.0003 -0.0071 -0.0229 0.0013 -0.0157 0.0440 -0.0012
Dimension 76 0.0046 -0.0176 -0.0135 -0.0095 0.0095 -0.0069 0.0041 -0.0208 0.0361 -0.0217 0.0118 -0.0032 -0.0050 -0.0033 -0.0059 -0.0063 -0.0052 -0.0020 0.0072 0.0190 0.0942 -0.0921 -0.2440 0.1099 -0.0077 -0.1044 0.1135 -0.0537 0.0209 0.0599 0.0687 -0.0524 -0.0077 -0.0466 -0.0526 0.0363 0.1281 -0.1114 -0.2460 0.3085 -0.0486 0.0327 0.0254 -0.1278 0.1841 -0.1027 0.1347 -0.1728 0.0495 -0.0304 ... 0.0182 -0.0112 -0.0023 0.1207 -0.1448 0.0183 -0.0210 0.0053 -0.0053 0.0029 0.0100 -0.0049 -0.0159 0.0031 0.0069 -0.0007 0.0040 -0.0363 -0.0240 0.0043 -0.0020 -0.0086 0.0026 -0.0017 -0.0027 -0.0157 0.0059 0.0202 0.0114 -0.0036 0.0201 0.0004 -0.0100 -0.0118 -0.0203 -0.0049 0.0490 -0.0036 0.0036 0.0004 0.0082 -0.0241 0.0266 0.0068 0.0276 -0.0279 0.0163 -0.0131 0.0015 -0.0253
Dimension 77 0.0046 -0.0070 0.0023 -0.0330 0.0330 0.0211 0.0379 0.0155 -0.0635 -0.0219 -0.0380 0.0094 0.0002 -0.0004 0.0066 0.0109 0.0010 0.0011 -0.0015 -0.0193 0.1495 -0.1227 0.1297 -0.2316 0.1539 0.0604 -0.2026 0.0062 0.0930 0.1199 -0.1239 -0.0875 0.0882 -0.1020 -0.0609 0.0406 0.0137 0.2172 -0.0495 0.0546 0.0472 -0.0204 -0.0355 0.0298 0.0997 0.0444 0.0044 -0.1352 0.0269 -0.1578 ... -0.0348 0.0205 -0.0096 0.1084 -0.2104 0.0456 -0.0085 -0.0026 0.0026 -0.0354 0.0353 0.0311 0.0242 0.0140 -0.0243 -0.0012 -0.0001 -0.0272 0.0655 -0.0181 0.0132 -0.0042 0.0243 -0.0097 -0.0164 0.0600 0.0280 0.0430 0.0240 0.0243 -0.0145 -0.0034 -0.0384 0.0964 -0.0766 -0.0406 0.0061 0.0014 -0.0014 -0.0616 0.0315 -0.0111 0.0419 -0.0045 0.0583 -0.0212 0.0114 -0.1149 0.0434 0.0519
Dimension 78 0.0046 0.0043 -0.0401 0.0027 -0.0027 -0.0037 -0.0235 -0.0121 -0.0073 -0.0015 0.0101 -0.0020 -0.0039 -0.0039 -0.0004 -0.0014 0.0127 0.0053 -0.0004 -0.0059 0.0649 0.1275 -0.0079 -0.0399 -0.1453 0.0750 -0.1256 0.0761 -0.0248 0.2496 -0.2045 -0.0942 0.0679 -0.0511 0.1059 0.0152 -0.0620 0.0206 -0.0680 -0.0087 -0.1177 0.1061 -0.0317 0.1200 0.0028 0.0228 0.0799 -0.0112 -0.1118 0.0520 ... 0.0133 -0.0107 0.0091 -0.0024 -0.0163 0.0292 -0.0125 0.0048 -0.0048 -0.0014 -0.0040 -0.0053 0.0024 0.0137 -0.0017 -0.0015 -0.0049 -0.0067 -0.0028 -0.0093 0.0054 -0.0021 -0.0053 -0.0007 -0.0015 0.0206 -0.0020 -0.0038 0.0044 -0.0023 -0.0073 0.0106 0.0005 -0.0071 -0.0234 0.0079 0.0226 -0.0081 0.0081 -0.0145 0.0132 -0.0350 0.0366 -0.0042 0.0383 -0.0626 -0.0291 0.0072 -0.0112 0.0417
Dimension 79 0.0046 -0.0251 0.0520 -0.0037 0.0037 -0.0254 -0.0170 -0.0027 -0.0054 -0.0400 -0.0004 0.0051 -0.0042 -0.0044 -0.0013 0.0053 -0.0038 -0.0007 -0.0001 0.0049 -0.0491 -0.1810 0.3451 -0.1258 0.1233 -0.0414 -0.1300 0.0386 0.0765 0.0511 0.0489 0.0102 -0.0599 0.0611 -0.0648 -0.0717 0.1671 -0.0744 -0.0406 -0.0073 0.1279 -0.0835 0.0232 0.0360 0.0019 0.0257 -0.1625 -0.0382 0.0432 0.1360 ... 0.0049 -0.0185 0.0090 -0.0957 0.1034 -0.0090 0.0015 -0.0274 0.0274 0.0351 -0.0041 -0.0165 -0.0317 -0.0317 0.0072 -0.0258 0.0349 -0.0308 0.0485 0.0068 -0.0262 0.0072 0.0120 -0.0045 0.0129 -0.0260 -0.0093 0.0291 0.0204 0.0178 0.0372 0.0160 -0.0080 -0.0056 0.0181 -0.0879 0.0723 0.0095 -0.0095 -0.0002 -0.0053 0.0355 -0.0174 -0.0131 -0.0378 0.0889 0.0153 0.0329 -0.0448 -0.0381
Dimension 80 0.0046 -0.0121 0.0241 0.0090 -0.0090 -0.0174 -0.0163 0.0153 0.0473 0.0568 0.0325 0.0026 -0.0075 -0.0073 -0.0097 -0.0015 0.0007 0.0057 0.0032 0.0121 0.2440 -0.0780 -0.2069 0.0890 -0.2248 0.1255 -0.0434 -0.1200 0.0301 0.1846 -0.2922 0.0740 -0.0404 -0.0177 -0.1173 -0.0723 0.2806 0.0062 0.1158 -0.2059 -0.0419 0.0674 0.1070 -0.0289 0.0323 -0.0062 -0.1295 -0.0051 0.0076 0.1930 ... -0.0101 0.0237 0.0095 0.1040 -0.1022 0.0185 -0.0208 -0.0158 0.0158 -0.0114 0.0189 0.0064 -0.0035 -0.0020 -0.0023 -0.0104 0.0005 0.0898 -0.0588 0.0039 -0.0145 0.0014 -0.0046 0.0088 0.0122 -0.0296 -0.0130 -0.0040 0.0029 -0.0084 0.0022 0.0296 0.0153 -0.0444 0.0055 0.0629 -0.0032 0.0015 -0.0015 0.0226 0.0024 -0.0184 0.0263 0.0213 -0.0009 0.0187 -0.0351 0.0778 -0.0072 -0.0637
Dimension 81 0.0046 0.0176 -0.0233 -0.0019 0.0019 -0.0310 -0.0446 -0.0402 0.0076 -0.0269 -0.0834 -0.0088 -0.0185 -0.0069 -0.0037 0.0088 0.0021 0.0022 0.0062 0.0141 -0.1339 0.0253 0.0380 0.1373 -0.0971 -0.0635 -0.0938 0.0080 0.0675 -0.1176 -0.0372 -0.0427 0.0995 0.0777 -0.0558 -0.0062 -0.1281 0.0490 -0.0301 -0.2089 0.2989 -0.0156 0.2255 -0.2252 0.1222 0.0560 -0.1971 -0.1781 0.0298 0.1598 ... -0.0020 -0.0014 -0.0091 0.0335 -0.0509 0.0085 0.0303 0.0380 -0.0380 0.0187 -0.0277 -0.0128 -0.0130 -0.0144 0.0023 -0.0095 0.0180 -0.0796 -0.0047 -0.0140 0.0202 -0.0058 0.0091 -0.0087 -0.0080 0.0576 0.0007 -0.0021 -0.0184 -0.0049 -0.0040 -0.0031 -0.0049 -0.0103 -0.0068 0.0168 -0.0105 -0.0005 0.0005 -0.0029 -0.0048 -0.0180 -0.0270 0.0047 0.0711 0.0109 -0.0543 -0.0898 0.0475 0.0819
Dimension 82 0.0045 -0.0383 0.0441 0.0165 -0.0165 0.0283 0.0872 0.0084 -0.0330 0.0715 0.0522 -0.0030 0.0020 0.0007 0.0056 -0.0105 -0.0067 0.0020 0.0001 0.0040 0.0426 0.0783 -0.0419 -0.0584 -0.0117 0.0179 -0.0602 0.0263 0.0124 -0.1641 -0.1578 0.1736 -0.0347 0.0478 -0.0026 0.0027 -0.1307 0.0688 -0.0293 0.0986 0.1383 -0.2295 0.0843 0.0020 -0.1663 0.0609 -0.0876 0.2482 0.0646 -0.2649 ... 0.0353 -0.0430 0.0192 0.0015 -0.0401 -0.0363 -0.0274 0.0522 -0.0522 -0.0222 0.0241 0.0144 -0.0037 -0.0014 0.0075 0.0135 -0.0278 0.0533 0.0686 0.0182 -0.0326 0.0226 -0.0059 0.0073 0.0209 0.0121 0.0417 0.0182 0.0342 0.0176 0.0441 0.0363 0.0144 -0.1328 -0.0408 -0.0018 0.1664 0.0050 -0.0050 -0.0217 0.0213 -0.0594 0.0421 -0.0147 -0.0582 -0.0130 0.0249 -0.0044 -0.0202 0.0676
Dimension 83 0.0045 0.0150 0.0101 0.0141 -0.0141 0.0424 0.0389 -0.0428 0.0157 -0.0484 0.0182 -0.0114 -0.0078 -0.0063 -0.0018 -0.0085 0.0084 0.0060 0.0008 0.0100 0.0488 0.1735 0.0269 -0.1536 -0.0449 0.0005 -0.0987 0.0059 0.0492 0.0004 0.0121 -0.0764 0.0620 -0.0495 -0.1525 0.0511 0.1532 -0.0342 0.0102 -0.0904 0.1340 -0.1553 -0.0491 0.2289 0.0404 0.0333 0.0049 -0.0274 -0.0767 0.0389 ... 0.0244 -0.0106 0.0035 -0.0676 0.1176 0.0903 -0.0310 -0.0217 0.0217 -0.0456 0.0599 0.0396 0.0258 0.0098 -0.0323 -0.0144 -0.0498 -0.0370 -0.0903 0.0103 0.0174 0.0032 -0.0220 0.0098 -0.0108 0.0045 -0.0002 -0.0125 -0.0163 -0.0277 0.0101 -0.0086 0.0080 -0.0638 0.0478 0.0500 -0.0343 -0.0067 0.0067 0.0359 -0.0232 0.0056 -0.0000 0.0401 0.0956 -0.0587 -0.0157 0.0476 -0.0278 -0.0990
Dimension 84 0.0045 0.0039 0.0161 -0.0166 0.0166 0.0430 0.0186 -0.0459 0.0063 -0.0162 -0.0176 0.0064 0.0137 0.0049 0.0060 0.0038 -0.0055 -0.0019 -0.0065 -0.0139 0.0981 0.0103 0.1026 -0.0907 -0.0901 -0.0015 0.0044 0.0214 0.0024 -0.0060 -0.1907 0.0638 0.0273 0.0206 0.0022 0.0273 -0.0114 -0.0926 -0.0198 0.1647 -0.0032 -0.0936 0.0240 -0.0525 -0.0859 0.0206 -0.1247 0.0737 -0.0584 0.2384 ... 0.0508 -0.0669 -0.0076 0.0354 -0.0827 -0.0858 -0.0026 -0.0462 0.0462 0.0052 0.0022 -0.0029 -0.0028 -0.0179 -0.0062 -0.0122 0.0242 -0.0038 -0.0348 -0.0230 0.0162 0.0016 0.0013 0.0011 -0.0092 0.0124 -0.0057 0.0071 0.0018 0.0134 -0.0020 -0.0252 -0.0182 0.0025 0.0029 -0.0326 0.0058 -0.0005 0.0005 -0.0257 0.0060 0.0591 0.0067 -0.0270 0.0068 -0.0309 0.0349 -0.0825 0.0224 0.0556
Dimension 85 0.0045 -0.0003 -0.0650 0.0212 -0.0212 0.0236 0.0376 0.0146 0.0208 -0.0313 -0.0066 -0.0096 0.0014 0.0037 0.0105 0.0084 0.0091 0.0038 -0.0021 -0.0234 0.1125 0.0123 -0.3003 0.1227 -0.1123 -0.0504 -0.1610 0.2074 -0.0143 -0.1916 0.1165 0.1258 -0.0875 0.0130 0.0111 -0.0162 -0.0357 0.0895 -0.0867 0.0327 0.1154 0.0516 -0.1992 0.0275 -0.0239 0.0244 -0.0474 -0.0262 0.0702 -0.0274 ... -0.0145 0.0321 -0.0065 -0.0869 0.1693 0.0504 0.0127 0.0099 -0.0099 -0.0127 0.0196 0.0190 0.0195 0.0134 -0.0196 -0.0045 0.0103 -0.0384 -0.0373 0.0137 0.0124 0.0198 -0.0026 0.0065 0.0236 0.0391 0.0373 0.0090 0.0106 -0.0025 0.0323 0.0368 0.0322 -0.1545 -0.0025 0.0722 0.0824 0.0119 -0.0119 -0.0093 0.0240 -0.0033 -0.0452 0.0333 0.0271 0.1308 -0.0250 0.0874 -0.0822 -0.1226

85 rows × 217 columns

In [78]:
# Re-fit the k-means model with the selected number of clusters and obtain
# cluster predictions for the general population demographics data.

# run k-means clustering on the data and...
customers_predict = model.predict(customers_pca)
plot_data(customers_pca, customers_predict)

Step 3.3: Compare Customer Data to Demographics Data

At this point, you have clustered data based on demographics of the general population of Germany, and seen how the customer data for a mail-order sales company maps onto those demographic clusters. In this final substep, you will compare the two cluster distributions to see where the strongest customer base for the company is.

Consider the proportion of persons in each cluster for the general population, and the proportions for the customers. If we think the company's customer base to be universal, then the cluster assignment proportions should be fairly similar between the two. If there are only particular segments of the population that are interested in the company's products, then we should see a mismatch from one to the other. If there is a higher proportion of persons in a cluster for the customer data compared to the general population (e.g. 5% of persons are assigned to a cluster for the general population, but 15% of the customer data is closest to that cluster's centroid) then that suggests the people in that cluster to be a target audience for the company. On the other hand, the proportion of the data in a cluster being larger in the general population than the customer data (e.g. only 2% of customers closest to a population centroid that captures 6% of the data) suggests that group of persons to be outside of the target demographics.

Take a look at the following points in this step:

  • Compute the proportion of data points in each cluster for the general population and the customer data. Visualizations will be useful here: both for the individual dataset proportions, but also to visualize the ratios in cluster representation between groups. Seaborn's countplot() or barplot() function could be handy.
    • Recall the analysis you performed in step 1.1.3 of the project, where you separated out certain data points from the dataset if they had more than a specified threshold of missing values. If you found that this group was qualitatively different from the main bulk of the data, you should treat this as an additional data cluster in this analysis. Make sure that you account for the number of data points in this subset, for both the general population and customer datasets, when making your computations!
  • Which cluster or clusters are overrepresented in the customer dataset compared to the general population? Select at least one such cluster and infer what kind of people might be represented by that cluster. Use the principal component interpretations from step 2.3 or look at additional components to help you make this inference. Alternatively, you can use the .inverse_transform() method of the PCA and StandardScaler objects to transform centroids back to the original data space and interpret the retrieved values directly.
  • Perform a similar investigation for the underrepresented clusters. Which cluster or clusters are underrepresented in the customer dataset compared to the general population, and what kinds of people are typified by these clusters?
In [79]:
# Compare the proportion of data in each cluster for the customer data to the
# proportion of data in each cluster for the general population.

figure, axs = plt.subplots(nrows=1, ncols=2)
figure.subplots_adjust(hspace=1, wspace=.3)

sns.countplot(customers_predict, ax=axs[0])
axs[0].set_title('Customer Clusters')
sns.countplot(azdias_predict, ax=axs[1])
axs[1].set_title('General Clusters')
Out[79]:
Text(0.5, 1.0, 'General Clusters')
In [88]:
# What kinds of people are part of a cluster that is overrepresented in the
# customer data compared to the general population?

# Cluster 6 is overrepresented

centroid_6 = scaler.inverse_transform(pca_85.inverse_transform(model.cluster_centers_[6]))
overrepresented_6 = pd.Series(data = centroid_6, index = customers_cleaned.columns)
In [89]:
pca_wgt_6 = pca_weight(pca_85, customers_scaled, 6)
print(pca_wgt_6)
ANREDE_KZ_2.0            0.289924
SEMIO_REL                0.241555
CAMEO_DEU_2015_4A        0.211722
SEMIO_MAT                0.188188
CJT_GESAMTTYP_1.0        0.179320
MIN_GEBAEUDEJAHR         0.153086
ANZ_HH_TITEL             0.146576
KBA05_GBZ                0.137118
SEMIO_FAM                0.136651
WOHNDAUER_2008           0.123207
CAMEO_DEUG_2015_9.0      0.121365
CAMEO_DEUG_2015_1.0      0.115059
GFK_URLAUBERTYP_9.0      0.099604
DECADE_80s               0.099252
NATIONALITAET_KZ_2.0     0.095144
LP_FAMILIE_FEIN_5.0      0.089415
CAMEO_DEU_2015_5C        0.086095
KBA05_ANTG3              0.078884
MOVEMENT_MAINSTREAM      0.075284
CAMEO_DEU_2015_5B        0.074883
WOHNLAGE                 0.073325
CAMEO_DEU_2015_1A        0.071435
KBA05_ANTG2              0.070369
LP_STATUS_GROB_3.0       0.068164
CAMEO_DEU_2015_4C        0.068093
CAMEO_DEUG_2015_4.0      0.067274
ANZ_HAUSHALTE_AKTIV      0.064588
LP_FAMILIE_FEIN_2.0      0.058293
LP_FAMILIE_FEIN_1.0      0.058094
GEBAEUDETYP_3.0          0.056926
GFK_URLAUBERTYP_5.0      0.056329
LP_FAMILIE_GROB_1.0      0.050626
BALLRAUM                 0.050200
GFK_URLAUBERTYP_12.0     0.047276
LP_STATUS_FEIN_10.0      0.045989
KBA05_ANTG1              0.045842
FINANZ_HAUSBAUER         0.044953
EWDICHTE                 0.044613
CAMEO_DEUG_2015_2.0      0.044331
KBA05_ANTG4              0.043763
KONSUMNAEHE              0.042595
FINANZ_UNAUFFAELLIGER    0.041727
GEBAEUDETYP_6.0          0.037621
SHOPPER_TYP_2.0          0.037289
SHOPPER_TYP_3.0          0.036073
GEBAEUDETYP_4.0          0.035676
GFK_URLAUBERTYP_6.0      0.029146
CAMEO_DEU_2015_7A        0.028880
GFK_URLAUBERTYP_4.0      0.027401
CAMEO_DEU_2015_2D        0.026182
                           ...   
GFK_URLAUBERTYP_2.0     -0.029425
CAMEO_DEU_2015_2C       -0.029751
SEMIO_KULT              -0.030374
OST_WEST_KZ_W           -0.032039
CAMEO_WEALTH_1.0        -0.032077
CAMEO_DEU_2015_5D       -0.032455
LP_STATUS_FEIN_2.0      -0.034099
ZABEOTYP_5.0            -0.034425
SHOPPER_TYP_1.0         -0.034425
ARBEIT                  -0.034651
ONLINE_AFFINITAET       -0.035847
KBA13_ANZAHL_PKW        -0.036554
SEMIO_KRIT              -0.036678
SEMIO_DOM               -0.036997
LP_STATUS_GROB_2.0      -0.038709
SEMIO_ERL               -0.040779
DECADE_70s              -0.041280
NATIONALITAET_KZ_1.0    -0.042764
SEMIO_PFLICHT           -0.043956
CAMEO_DEU_2015_1E       -0.047750
GREEN_AVANTGARDE_0.0    -0.049681
CJT_GESAMTTYP_3.0       -0.051489
RELAT_AB                -0.051588
GFK_URLAUBERTYP_11.0    -0.053773
CAMEO_LIFESTAGE_2.0     -0.055790
NATIONALITAET_KZ_3.0    -0.058609
SHOPPER_TYP_0.0         -0.064906
CAMEO_DEU_2015_1C       -0.067061
OST_WEST_KZ_O           -0.067061
CAMEO_DEUG_2015_7.0     -0.067736
CAMEO_DEU_2015_1B       -0.074245
LP_FAMILIE_FEIN_10.0    -0.074801
SEMIO_VERT              -0.075584
GEBAEUDETYP_RASTER      -0.081806
SEMIO_RAT               -0.084327
SEMIO_TRADV             -0.085421
LP_FAMILIE_FEIN_3.0     -0.085796
CAMEO_DEU_2015_1D       -0.086078
SEMIO_KAEM              -0.087858
CJT_GESAMTTYP_2.0       -0.090947
LP_LEBENSPHASE_FEIN     -0.108717
DECADE_90s              -0.109833
ANZ_PERSONEN            -0.129358
GFK_URLAUBERTYP_10.0    -0.135415
ANZ_TITEL               -0.138831
RETOURTYP_BK_S          -0.140523
ALTER_HH                -0.146581
CAMEO_DEU_2015_3D       -0.211722
SEMIO_SOZ               -0.259684
ANREDE_KZ_1.0           -0.304212
Name: 6, Length: 216, dtype: float64
In [90]:
cluster_specs = pd.DataFrame(scaler.inverse_transform(pca_85.inverse_transform(
    model.cluster_centers_)), columns=customers_cleaned.columns)
cluster_6 = cluster_specs.iloc[6]
pd.DataFrame(dict(cluster_6=cluster_6, pca_wgt_6=pca_wgt_6)
             ).reset_index().sort_values(by='pca_wgt_6', ascending=False)
Out[90]:
index cluster_6 pca_wgt_6
3 ANREDE_KZ_2.0 0.673768 0.289924
195 SEMIO_REL 3.882137 0.241555
32 CAMEO_DEU_2015_4A 0.056889 0.211722
192 SEMIO_MAT 3.594510 0.188188
73 CJT_GESAMTTYP_1.0 0.190749 0.179320
164 MIN_GEBAEUDEJAHR 1993.201896 0.153086
5 ANZ_HH_TITEL 0.210306 0.146576
127 KBA05_GBZ 3.572336 0.137118
187 SEMIO_FAM 4.678467 0.136651
207 WOHNDAUER_2008 9.044395 0.123207
18 CAMEO_DEUG_2015_9.0 0.104950 0.121365
10 CAMEO_DEUG_2015_1.0 0.151925 0.115059
117 GFK_URLAUBERTYP_9.0 0.023374 0.099604
83 DECADE_80s 0.118357 0.099252
169 NATIONALITAET_KZ_2.0 0.039279 0.095144
137 LP_FAMILIE_FEIN_5.0 -0.016159 0.089415
39 CAMEO_DEU_2015_5C -0.014089 0.086095
125 KBA05_ANTG3 0.381632 0.078884
167 MOVEMENT_MAINSTREAM 0.636302 0.075284
38 CAMEO_DEU_2015_5B 0.061587 0.074883
208 WOHNLAGE 3.954905 0.073325
19 CAMEO_DEU_2015_1A -0.005577 0.071435
124 KBA05_ANTG2 1.272378 0.070369
161 LP_STATUS_GROB_3.0 0.114733 0.068164
34 CAMEO_DEU_2015_4C -0.071367 0.068093
13 CAMEO_DEUG_2015_4.0 0.089110 0.067274
4 ANZ_HAUSHALTE_AKTIV 10.603278 0.064588
134 LP_FAMILIE_FEIN_2.0 0.480784 0.058293
131 LP_FAMILIE_FEIN_1.0 -0.025530 0.058094
100 GEBAEUDETYP_3.0 0.026334 0.056926
113 GFK_URLAUBERTYP_5.0 -0.057910 0.056329
142 LP_FAMILIE_GROB_1.0 0.253599 0.050626
9 BALLRAUM 4.399576 0.050200
109 GFK_URLAUBERTYP_12.0 0.010695 0.047276
150 LP_STATUS_FEIN_10.0 0.279860 0.045989
123 KBA05_ANTG1 2.271053 0.045842
93 FINANZ_HAUSBAUER 2.246493 0.044953
85 EWDICHTE 3.958424 0.044613
11 CAMEO_DEUG_2015_2.0 0.320554 0.044331
126 KBA05_ANTG4 0.167216 0.043763
130 KONSUMNAEHE 3.306054 0.042595
96 FINANZ_UNAUFFAELLIGER 1.693990 0.041727
103 GEBAEUDETYP_6.0 -0.008189 0.037621
201 SHOPPER_TYP_2.0 0.067561 0.037289
202 SHOPPER_TYP_3.0 0.230333 0.036073
101 GEBAEUDETYP_4.0 -0.007537 0.035676
114 GFK_URLAUBERTYP_6.0 0.168456 0.029146
49 CAMEO_DEU_2015_7A 0.090850 0.028880
112 GFK_URLAUBERTYP_4.0 -0.159818 0.027401
27 CAMEO_DEU_2015_2D 0.027202 0.026182
... ... ... ...
110 GFK_URLAUBERTYP_2.0 -0.020302 -0.029425
26 CAMEO_DEU_2015_2C 0.086629 -0.029751
190 SEMIO_KULT 3.289694 -0.030374
174 OST_WEST_KZ_W 0.801558 -0.032039
68 CAMEO_WEALTH_1.0 0.326302 -0.032077
40 CAMEO_DEU_2015_5D 0.034190 -0.032455
151 LP_STATUS_FEIN_2.0 0.023959 -0.034099
214 ZABEOTYP_5.0 0.034658 -0.034425
200 SHOPPER_TYP_1.0 0.402021 -0.034425
8 ARBEIT 2.724658 -0.034651
171 ONLINE_AFFINITAET 2.906025 -0.035847
128 KBA13_ANZAHL_PKW 661.181473 -0.036554
189 SEMIO_KRIT 3.758917 -0.036678
185 SEMIO_DOM 3.916225 -0.036997
160 LP_STATUS_GROB_2.0 0.335156 -0.038709
186 SEMIO_ERL 4.317962 -0.040779
82 DECADE_70s 0.030686 -0.041280
168 NATIONALITAET_KZ_1.0 1.078779 -0.042764
193 SEMIO_PFLICHT 2.855941 -0.043956
23 CAMEO_DEU_2015_1E 0.123342 -0.047750
118 GREEN_AVANTGARDE_0.0 0.854969 -0.049681
75 CJT_GESAMTTYP_3.0 -0.025894 -0.051489
183 RELAT_AB 2.659356 -0.051588
108 GFK_URLAUBERTYP_11.0 -0.029866 -0.053773
64 CAMEO_LIFESTAGE_2.0 0.036962 -0.055790
170 NATIONALITAET_KZ_3.0 0.023786 -0.058609
199 SHOPPER_TYP_0.0 0.463410 -0.064906
21 CAMEO_DEU_2015_1C -0.023807 -0.067061
173 OST_WEST_KZ_O -0.006341 -0.067061
16 CAMEO_DEUG_2015_7.0 0.324800 -0.067736
20 CAMEO_DEU_2015_1B 0.098055 -0.074245
132 LP_FAMILIE_FEIN_10.0 0.402439 -0.074801
198 SEMIO_VERT 4.786930 -0.075584
105 GEBAEUDETYP_RASTER 3.633341 -0.081806
194 SEMIO_RAT 2.740253 -0.084327
197 SEMIO_TRADV 2.946761 -0.085421
135 LP_FAMILIE_FEIN_3.0 0.010232 -0.085796
22 CAMEO_DEU_2015_1D 0.073573 -0.086078
188 SEMIO_KAEM 3.372575 -0.087858
74 CJT_GESAMTTYP_2.0 0.177434 -0.090947
147 LP_LEBENSPHASE_FEIN 18.588287 -0.108717
84 DECADE_90s 0.015990 -0.109833
6 ANZ_PERSONEN 2.436405 -0.129358
107 GFK_URLAUBERTYP_10.0 0.295580 -0.135415
7 ANZ_TITEL 0.029881 -0.138831
184 RETOURTYP_BK_S 3.676745 -0.140523
1 ALTER_HH 13.784436 -0.146581
31 CAMEO_DEU_2015_3D 0.053263 -0.211722
196 SEMIO_SOZ 4.632896 -0.259684
2 ANREDE_KZ_1.0 0.676410 -0.304212

216 rows × 3 columns

Overrepresented Cluster 6: Professional Thirty-something Urban Women

Cluster 6 is overrepresented in our customer data versus the broader population. Looking at each weighted feature, we can see that customers in this cluster are likely to be female, more urban, and children of the 1980s (would have been in their 30s in 2015).

HIGHLY CORRELATED:

ANREDE_KZ_2.0            Gender: Female
SEMIO_REL                Religious: Average- to high-affinity
CAMEO_DEU_2015_4A        Life stage: Family Starter
SEMIO_MAT                Materialistic: Average- to high-affinity
CJT_GESAMTTYP_1.0        Advertising- and Consumptionminimalist
MIN_GEBAEUDEJAHR         First year building was mentioned in the database: 1993 (mean)
ANZ_HH_TITEL             Number of professional academic title holders in building: 0.2 (mean)
KBA05_GBZ                Number of buildings in microcell: 3.57 (mean)
SEMIO_FAM                Family-minded: Average- to low-affinity
WOHNDAUER_2008           Length of residence: more than 10 years
CAMEO_DEUG_2015_9.0      Urban working class
CAMEO_DEUG_2015_1.0      Upper class
GFK_URLAUBERTYP_9.0      Package tour travelers
DECADE_80s               Decade of youth: 1980s
NATIONALITAET_KZ_2.0     Foreign-sounding name

ANTI-CORRELATED:

ANREDE_KZ_2.0            Gender: Male
SEMIO_SOZ                Socially-minded: Average- to low-affinity
CAMEO_DEU_2015_3D        Life stage: Secure Retirement

In [91]:
# What kinds of people are part of a cluster that is underrepresented in the
# customer data compared to the general population?

# Cluster 3 is underrepresented

centroid_3 = scaler.inverse_transform(pca_85.inverse_transform(model.cluster_centers_[3]))
underrepresented_c = pd.Series(data = centroid_3, index = customers_cleaned.columns)
In [92]:
pca_wgt_3 = pca_weight(pca_85, customers_scaled, 3)
print(pca_wgt_3)
LP_STATUS_FEIN_8.0      0.241719
CAMEO_DEU_2015_2A       0.241719
CAMEO_DEU_2015_1C       0.188373
OST_WEST_KZ_O           0.188373
GFK_URLAUBERTYP_4.0     0.177753
CAMEO_DEU_2015_3C       0.176408
CAMEO_DEU_2015_6D       0.162704
CAMEO_DEU_2015_6A       0.162179
FINANZ_VORSORGER        0.144230
GEBAEUDETYP_4.0         0.123756
GEBAEUDETYP_6.0         0.121800
FINANZ_HAUSBAUER        0.111386
GEBAEUDETYP_3.0         0.105945
ANREDE_KZ_1.0           0.100545
CAMEO_DEU_2015_4D       0.095672
CAMEO_DEU_2015_3B       0.093795
CAMEO_DEU_2015_4E       0.087797
RETOURTYP_BK_S          0.087711
CAMEO_DEU_2015_6E       0.084206
CAMEO_LIFESTAGE_2.0     0.081430
CAMEO_DEU_2015_5E       0.078865
CAMEO_DEU_2015_4C       0.077608
CAMEO_DEU_2015_7D       0.076612
SHOPPER_TYP_2.0         0.076542
CAMEO_DEU_2015_5A       0.075369
LP_FAMILIE_FEIN_1.0     0.062447
CAMEO_DEU_2015_6B       0.061992
CAMEO_DEU_2015_5C       0.061113
ANZ_TITEL               0.060782
SHOPPER_TYP_3.0         0.060770
SEMIO_KAEM              0.059331
LP_LEBENSPHASE_FEIN     0.058919
CAMEO_DEU_2015_9C       0.057889
SEMIO_SOZ               0.057374
FINANZ_MINIMALIST       0.055218
GFK_URLAUBERTYP_5.0     0.050007
CAMEO_DEU_2015_4A       0.046987
CAMEO_DEUG_2015_1.0     0.046493
KBA05_GBZ               0.044387
FINANZTYP_3.0           0.042892
SEMIO_PFLICHT           0.042485
GEBAEUDETYP_2.0         0.041586
CAMEO_DEU_2015_1A       0.040476
CAMEO_DEUG_2015_5.0     0.039956
GFK_URLAUBERTYP_9.0     0.038128
OST_WEST_KZ_W           0.037227
LP_STATUS_FEIN_5.0      0.036039
LP_FAMILIE_FEIN_5.0     0.034340
SEMIO_RAT               0.032829
CAMEO_DEUG_2015_3.0     0.032101
                          ...   
CAMEO_DEU_2015_7B      -0.024705
MIN_GEBAEUDEJAHR       -0.027501
CJT_GESAMTTYP_4.0      -0.028410
NATIONALITAET_KZ_1.0   -0.028795
CJT_GESAMTTYP_5.0      -0.029233
SEMIO_VERT             -0.029449
CAMEO_DEUG_2015_9.0    -0.029701
DECADE_80s             -0.029741
CAMEO_DEU_2015_5B      -0.030021
CAMEO_LIFESTAGE_3.0    -0.031168
ANZ_HAUSHALTE_AKTIV    -0.032237
LP_FAMILIE_FEIN_3.0    -0.033017
DECADE_90s             -0.034212
GEBAEUDETYP_RASTER     -0.034288
GEBAEUDETYP_5.0        -0.036801
CAMEO_DEU_2015_9A      -0.037629
CAMEO_DEU_2015_7E      -0.040730
CAMEO_DEU_2015_1D      -0.041123
CAMEO_DEUG_2015_6.0    -0.041360
LP_FAMILIE_GROB_3.0    -0.042839
GREEN_AVANTGARDE_0.0   -0.043526
SEMIO_FAM              -0.043533
CAMEO_DEU_2015_3D      -0.046987
ANZ_HH_TITEL           -0.050094
SEMIO_REL              -0.054692
LP_FAMILIE_FEIN_10.0   -0.056797
CAMEO_DEU_2015_8D      -0.062366
CAMEO_DEU_2015_4B      -0.064728
GFK_URLAUBERTYP_10.0   -0.071088
ANREDE_KZ_2.0          -0.074708
CAMEO_DEU_2015_8A      -0.076322
CAMEO_DEU_2015_5D      -0.082221
CAMEO_WEALTH_5.0       -0.095183
SHOPPER_TYP_0.0        -0.098073
CAMEO_DEU_2015_6C      -0.100483
CAMEO_DEU_2015_6F      -0.106016
CAMEO_DEUG_2015_2.0    -0.106144
LP_STATUS_FEIN_10.0    -0.110646
ZABEOTYP_5.0           -0.116466
SHOPPER_TYP_1.0        -0.116466
NATIONALITAET_KZ_3.0   -0.118137
CAMEO_DEU_2015_8C      -0.118841
LP_LEBENSPHASE_GROB    -0.137420
LP_STATUS_GROB_1.0     -0.139060
FINANZ_SPARER          -0.144230
CAMEO_DEUG_2015_7.0    -0.163166
CAMEO_DEU_2015_1B      -0.170756
CAMEO_WEALTH_4.0       -0.177143
CAMEO_DEU_2015_2B      -0.235927
LP_STATUS_FEIN_7.0     -0.241719
Name: 3, Length: 216, dtype: float64
In [93]:
cluster_3 = cluster_specs.iloc[3]
pd.DataFrame(dict(cluster_3=cluster_3, pca_wgt_3=pca_wgt_3)
             ).reset_index().sort_values(by='pca_wgt_3', ascending=False)
Out[93]:
index cluster_3 pca_wgt_3
24 CAMEO_DEU_2015_2A 0.331359 0.241719
157 LP_STATUS_FEIN_8.0 0.120343 0.241719
173 OST_WEST_KZ_O 0.659818 0.188373
21 CAMEO_DEU_2015_1C 0.282261 0.188373
112 GFK_URLAUBERTYP_4.0 0.079642 0.177753
30 CAMEO_DEU_2015_3C 0.028781 0.176408
46 CAMEO_DEU_2015_6D -0.000037 0.162704
43 CAMEO_DEU_2015_6A 0.006858 0.162179
97 FINANZ_VORSORGER 4.508066 0.144230
101 GEBAEUDETYP_4.0 0.035152 0.123756
103 GEBAEUDETYP_6.0 0.022493 0.121800
93 FINANZ_HAUSBAUER 3.413039 0.111386
100 GEBAEUDETYP_3.0 0.315362 0.105945
2 ANREDE_KZ_1.0 0.924957 0.100545
35 CAMEO_DEU_2015_4D -0.042866 0.095672
29 CAMEO_DEU_2015_3B 0.052336 0.093795
36 CAMEO_DEU_2015_4E -0.037430 0.087797
184 RETOURTYP_BK_S 3.676586 0.087711
47 CAMEO_DEU_2015_6E -0.000869 0.084206
64 CAMEO_LIFESTAGE_2.0 0.226954 0.081430
41 CAMEO_DEU_2015_5E -0.006988 0.078865
34 CAMEO_DEU_2015_4C -0.007435 0.077608
52 CAMEO_DEU_2015_7D -0.018155 0.076612
201 SHOPPER_TYP_2.0 0.265056 0.076542
37 CAMEO_DEU_2015_5A -0.044835 0.075369
131 LP_FAMILIE_FEIN_1.0 0.187655 0.062447
44 CAMEO_DEU_2015_6B 0.108973 0.061992
39 CAMEO_DEU_2015_5C 0.015624 0.061113
7 ANZ_TITEL 0.109478 0.060782
202 SHOPPER_TYP_3.0 0.479075 0.060770
188 SEMIO_KAEM 3.479027 0.059331
147 LP_LEBENSPHASE_FEIN 21.650444 0.058919
60 CAMEO_DEU_2015_9C 0.024240 0.057889
196 SEMIO_SOZ 5.634789 0.057374
94 FINANZ_MINIMALIST 4.181604 0.055218
113 GFK_URLAUBERTYP_5.0 -0.068206 0.050007
32 CAMEO_DEU_2015_4A 0.119165 0.046987
10 CAMEO_DEUG_2015_1.0 0.069499 0.046493
127 KBA05_GBZ 3.657875 0.044387
88 FINANZTYP_3.0 0.025025 0.042892
193 SEMIO_PFLICHT 2.881750 0.042485
99 GEBAEUDETYP_2.0 0.033373 0.041586
19 CAMEO_DEU_2015_1A -0.008627 0.040476
14 CAMEO_DEUG_2015_5.0 0.044771 0.039956
117 GFK_URLAUBERTYP_9.0 0.058489 0.038128
174 OST_WEST_KZ_W 0.815029 0.037227
154 LP_STATUS_FEIN_5.0 0.014029 0.036039
137 LP_FAMILIE_FEIN_5.0 -0.024735 0.034340
194 SEMIO_RAT 2.676089 0.032829
12 CAMEO_DEUG_2015_3.0 0.053384 0.032101
... ... ... ...
50 CAMEO_DEU_2015_7B -0.014776 -0.024705
164 MIN_GEBAEUDEJAHR 1992.903607 -0.027501
76 CJT_GESAMTTYP_4.0 0.178395 -0.028410
168 NATIONALITAET_KZ_1.0 1.103843 -0.028795
77 CJT_GESAMTTYP_5.0 0.163764 -0.029233
198 SEMIO_VERT 4.963016 -0.029449
18 CAMEO_DEUG_2015_9.0 -0.040456 -0.029701
83 DECADE_80s 0.112102 -0.029741
38 CAMEO_DEU_2015_5B 0.065161 -0.030021
65 CAMEO_LIFESTAGE_3.0 0.136842 -0.031168
4 ANZ_HAUSHALTE_AKTIV 7.179423 -0.032237
135 LP_FAMILIE_FEIN_3.0 0.014670 -0.033017
84 DECADE_90s 0.044146 -0.034212
105 GEBAEUDETYP_RASTER 3.795397 -0.034288
102 GEBAEUDETYP_5.0 -0.226906 -0.036801
58 CAMEO_DEU_2015_9A 0.002106 -0.037629
53 CAMEO_DEU_2015_7E -0.021632 -0.040730
22 CAMEO_DEU_2015_1D 0.058426 -0.041123
15 CAMEO_DEUG_2015_6.0 0.101048 -0.041360
144 LP_FAMILIE_GROB_3.0 -0.021929 -0.042839
118 GREEN_AVANTGARDE_0.0 1.009175 -0.043526
187 SEMIO_FAM 4.291234 -0.043533
31 CAMEO_DEU_2015_3D -0.011735 -0.046987
5 ANZ_HH_TITEL 0.108845 -0.050094
195 SEMIO_REL 3.569294 -0.054692
132 LP_FAMILIE_FEIN_10.0 0.399227 -0.056797
57 CAMEO_DEU_2015_8D 0.030476 -0.062366
33 CAMEO_DEU_2015_4B 0.086630 -0.064728
107 GFK_URLAUBERTYP_10.0 0.198552 -0.071088
3 ANREDE_KZ_2.0 0.514445 -0.074708
54 CAMEO_DEU_2015_8A 0.031039 -0.076322
40 CAMEO_DEU_2015_5D -0.049164 -0.082221
72 CAMEO_WEALTH_5.0 0.047190 -0.095183
199 SHOPPER_TYP_0.0 0.354070 -0.098073
45 CAMEO_DEU_2015_6C -0.009613 -0.100483
48 CAMEO_DEU_2015_6F -0.007438 -0.106016
11 CAMEO_DEUG_2015_2.0 0.056995 -0.106144
150 LP_STATUS_FEIN_10.0 -0.265906 -0.110646
200 SHOPPER_TYP_1.0 0.040948 -0.116466
214 ZABEOTYP_5.0 -0.033370 -0.116466
170 NATIONALITAET_KZ_3.0 -0.033950 -0.118137
56 CAMEO_DEU_2015_8C 0.055878 -0.118841
148 LP_LEBENSPHASE_GROB 7.384172 -0.137420
159 LP_STATUS_GROB_1.0 0.187575 -0.139060
95 FINANZ_SPARER 1.486850 -0.144230
16 CAMEO_DEUG_2015_7.0 -0.025958 -0.163166
20 CAMEO_DEU_2015_1B -0.028048 -0.170756
71 CAMEO_WEALTH_4.0 0.072229 -0.177143
25 CAMEO_DEU_2015_2B -0.249444 -0.235927
156 LP_STATUS_FEIN_7.0 -0.417675 -0.241719

216 rows × 3 columns

Underrepresented Cluster 3: Rural Men in Former East Germany

Cluster 3 is underrepresented in our customer set versus the broader population. Examining the weighted features, we can see customers in this cluster are more likely to be men, more rural, less financially prepared and probably older than the customers in our overrepresented cluster. They are also more likely to be located in the former East Germany.

HIGHLY CORRELATED:

LP_STATUS_FEIN_8.0      Social scale: New houseowners
CAMEO_DEU_2015_2A       Life stage: Cottage Chic
CAMEO_DEU_2015_1C       Life stage: Successful Songwriter
OST_WEST_KZ_O           Former East Germany
GFK_URLAUBERTYP_4.0     Vacation habits: Culture lovers
CAMEO_DEU_2015_3C       Life stage: Rural Neighborhood
CAMEO_DEU_2015_6D       Life stage: Sportgardener
CAMEO_DEU_2015_6A       Life stage: Jobstarter
FINANZ_VORSORGER        Financial preparedness: low to very low
GEBAEUDETYP_4.0         Mixed building without actually known household or company
GEBAEUDETYP_6.0         Mixed building without actually known household
FINANZ_HAUSBAUER        Home ownership: average to low
GEBAEUDETYP_3.0         Mixed (=residential and company) building
ANREDE_KZ_1.0           Male
CAMEO_DEU_2015_4D       Life stage: Empty Nest

ANTI-CORRELATED:

FINANZ_SPARER          Money-saver: high to very-high
CAMEO_DEUG_2015_7.0    Lower middleclass
CAMEO_DEU_2015_1B      Wealth: Wealthy Best Ager
CAMEO_WEALTH_4.0       Less Affluent Households
CAMEO_DEU_2015_2B      Life stage: Noble Jogger
LP_STATUS_FEIN_7.0     Title holder-households

Discussion 3.3: Compare Customer Data to Demographics Data

We can draw some conclusions about the types of customers that are more popular with the mail-order company: they're more likely to be women, urban, in their thirties, and higher income. Based on this analysis we can imagine some specific marketing and advertising campaigns directed at these target demographics!

In [ ]: